]> git.ipfire.org Git - thirdparty/json-c.git/commitdiff
tokener_parse_ex_fuzzer: add type checking for parsed object 837/head
authorHansolChoe <hansol614@gmail.com>
Thu, 19 Oct 2023 07:33:01 +0000 (16:33 +0900)
committerHansolChoe <hansol614@gmail.com>
Thu, 19 Oct 2023 07:55:15 +0000 (16:55 +0900)
fuzz/tokener_parse_ex_fuzzer.cc

index acdc33271e6e2f219036d700a39b9b751c543f61..5d07497aed820700a56c2d160b1e61a7f13a0ede 100644 (file)
@@ -8,9 +8,11 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
        json_tokener *tok = json_tokener_new();
        json_object *obj = json_tokener_parse_ex(tok, data1, size);
        
-       json_object_object_foreach(obj, key, val) {
-               (void)json_object_get_type(val);
-               (void)json_object_get_string(val);
+       if (json_object_is_type(obj, json_type_object)) {
+               json_object_object_foreach(obj, key, val) {
+                       (void)json_object_get_type(val);
+                       (void)json_object_get_string(val);
+               }
        }
        (void)json_object_to_json_string_ext(obj, JSON_C_TO_STRING_PRETTY | JSON_C_TO_STRING_SPACED);