aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Makefile1
-rw-r--r--librecrypt_chain_length.c9
-rw-r--r--librecrypt_next_algorithm.c9
-rw-r--r--librecrypt_realise_salts.c1
4 files changed, 15 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index ebf30f4..42e324d 100644
--- a/Makefile
+++ b/Makefile
@@ -93,6 +93,7 @@ all: librecrypt.a librecrypt.$(LIBEXT) $(TEST)
$(OBJ): $(HDR)
$(LOBJ): $(HDR)
$(TOBJ): $(HDR) libtest/libtest.h
+$(FOBJ): $(HDR) libtest/libtest.h
$(TEST): $(HDR) librecrypt.a libtest/libtest.a libtest/libtest.h
$(FUZZ): $(HDR) librecrypt.a libtest/libtest.a libtest/libtest.h
diff --git a/librecrypt_chain_length.c b/librecrypt_chain_length.c
index 364186a..adde62a 100644
--- a/librecrypt_chain_length.c
+++ b/librecrypt_chain_length.c
@@ -39,8 +39,13 @@ volatile size_t discarded_return_value;
int
LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
- (void) size;
- discarded_return_value = librecrypt_chain_length((const void *)data);
+ char *hash;
+ hash = malloc(size + 1u);
+ assert(hash);
+ memcpy(hash, data, size);
+ hash[size] = '\0';
+ discarded_return_value = librecrypt_chain_length(hash);
+ free(hash);
return 0;
}
diff --git a/librecrypt_next_algorithm.c b/librecrypt_next_algorithm.c
index 831f52e..623a19b 100644
--- a/librecrypt_next_algorithm.c
+++ b/librecrypt_next_algorithm.c
@@ -92,19 +92,22 @@ main(void)
int
LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
- char *hash, *r;
- size_t sum = 0u;
+ char *hash, *orig, *r;
+ size_t sum = 0u, len;
hash = malloc(size + 1u);
assert(hash);
+ orig = hash;
memcpy(hash, data, size);
hash[size] = '\0';
+ len = strlen(hash);
for (;;) {
r = librecrypt_next_algorithm(&hash);
if (!r)
break;
sum += strlen(r) + 1u;
}
- EXPECT(sum == size + 1u);
+ EXPECT(sum == len + 1u);
+ free(orig);
return 0;
}
diff --git a/librecrypt_realise_salts.c b/librecrypt_realise_salts.c
index c7b7071..62bb2c3 100644
--- a/librecrypt_realise_salts.c
+++ b/librecrypt_realise_salts.c
@@ -367,6 +367,7 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
}
free(out_buffer);
+ free(settings);
return 0;
}