func_json: Fix crashes for some types

This commit fixes crashes in JSON_DECODE() for types null, true, false
and real numbers.

In addition it ensures that a path is not deeper than 32 levels.

Also allow root object to be an array.

Add unit tests for above cases.
This commit is contained in:
Bastian Triller
2023-09-21 08:24:37 +02:00
committed by asterisk-org-access-app[bot]
parent d60c3c36e7
commit 8536ce8c38
3 changed files with 77 additions and 22 deletions

View File

@@ -250,6 +250,16 @@ struct ast_json *ast_json_null(void)
return (struct ast_json *)json_null();
}
int ast_json_is_array(const struct ast_json *json)
{
return json_is_array((const json_t *)json);
}
int ast_json_is_object(const struct ast_json *json)
{
return json_is_object((const json_t *)json);
}
int ast_json_is_true(const struct ast_json *json)
{
return json_is_true((const json_t *)json);