fix(json): validate json_object before processing in json_walk function (#22309)
Stelios Fragkakis committed
Jun 9, 2026 at 13:20 UTC
06934c90f614df27f27d12cd3016b9b35c3d0524
1 file changed
+3
-1
src/libnetdata/json/json.c
+3
-1
@@ -441,8 +441,10 @@ size_t json_walk_object(char *js, jsmntok_t *t, size_t nest, size_t start, JSON_
441
*/
442
#ifdef ENABLE_JSONC
443
size_t json_walk(json_object *t, void *callback_data, int (*callback_function)(struct json_entry *)) {
444
- JSON_ENTRY e;
444
+ if (!t || json_object_get_type(t) != json_type_object)
445
+ return 0;
446
447
+ JSON_ENTRY e = { 0 };
448
e.callback_data = callback_data;
449
enum json_type type;
450
json_object_object_foreach(t, key, val) {