diff options
| author | Mattias Andrée <m@maandree.se> | 2026-05-16 02:11:29 +0200 |
|---|---|---|
| committer | Mattias Andrée <m@maandree.se> | 2026-05-16 02:11:29 +0200 |
| commit | 8e7bfadb3eb9f43eb0b670b908b479325722fee5 (patch) | |
| tree | e7f26f67cc4da2846e0ac3f8201e1e82de3c6112 /librecrypt_test_supported.c | |
| parent | m (diff) | |
| download | librecrypt-8e7bfadb3eb9f43eb0b670b908b479325722fee5.tar.gz librecrypt-8e7bfadb3eb9f43eb0b670b908b479325722fee5.tar.bz2 librecrypt-8e7bfadb3eb9f43eb0b670b908b479325722fee5.tar.xz | |
Add WITH_LIBAR2SIMPLIFIED=false + work on fuzzing code
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to '')
| -rw-r--r-- | librecrypt_test_supported.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/librecrypt_test_supported.c b/librecrypt_test_supported.c index db9f302..66ee4fb 100644 --- a/librecrypt_test_supported.c +++ b/librecrypt_test_supported.c @@ -41,6 +41,7 @@ librecrypt_test_supported(const char *phrase, size_t len, int text, const char * #else +# ifndef FUZZ #define NSA "$~no~such~algorithm~$" @@ -77,4 +78,41 @@ main(void) } +# else + + +extern volatile int discarded_return_value; +volatile int discarded_return_value; + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + const void *phrase; + size_t len; + int text; + char *settings; + + if (size < 4u) + return 0; + + text = (int)data[0u] & 1; + len = (size_t)data[1u]; + if (len > size - 2u) + return 0; + phrase = &data[2u]; + data = &data[2u + len]; + size -= 2u + len; + settings = malloc(size + 1u); + assert(settings); + memcpy(settings, data, size); + settings[size] = '\0'; + + discarded_return_value = librecrypt_test_supported(phrase, len, text, settings); + + free(settings); + return 0; +} + + +# endif #endif |
