diff options
Diffstat (limited to 'fuzzing/fuzz_key.c')
-rw-r--r-- | fuzzing/fuzz_key.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/fuzzing/fuzz_key.c b/fuzzing/fuzz_key.c index 8d0edc5fa..9f1f9187e 100644 --- a/fuzzing/fuzz_key.c +++ b/fuzzing/fuzz_key.c @@ -1,16 +1,27 @@ #include "fuzz.h" -int -LLVMFuzzerTestOneInput (const unsigned char *data, size_t size) +static void +test_parse (const gchar *data, + size_t size, + GKeyFileFlags flags) { GKeyFile *key = NULL; - fuzz_set_logging_func (); - key = g_key_file_new (); g_key_file_load_from_data (key, (const gchar*) data, size, G_KEY_FILE_NONE, NULL); g_key_file_free (key); +} + +int +LLVMFuzzerTestOneInput (const unsigned char *data, size_t size) +{ + fuzz_set_logging_func (); + + test_parse ((const gchar *) data, size, G_KEY_FILE_NONE); + test_parse ((const gchar *) data, size, G_KEY_FILE_KEEP_COMMENTS); + test_parse ((const gchar *) data, size, G_KEY_FILE_KEEP_TRANSLATIONS); + return 0; } |