提交 e9d1de24 编写于 作者: M Max Bruckner

handle null pointers: cJSON_GetArraySize

上级 56f2bc6f
...@@ -1653,17 +1653,25 @@ static cJSON_bool print_object(const cJSON * const item, printbuffer * const out ...@@ -1653,17 +1653,25 @@ static cJSON_bool print_object(const cJSON * const item, printbuffer * const out
/* Get Array size/item / object item. */ /* Get Array size/item / object item. */
CJSON_PUBLIC(int) cJSON_GetArraySize(const cJSON *array) CJSON_PUBLIC(int) cJSON_GetArraySize(const cJSON *array)
{ {
cJSON *c = array->child; cJSON *child = NULL;
size_t i = 0; size_t size = 0;
while(c)
if (array == NULL)
{ {
i++; return 0;
c = c->next; }
child = array->child;
while(child != NULL)
{
size++;
child = child->next;
} }
/* FIXME: Can overflow here. Cannot be fixed without breaking the API */ /* FIXME: Can overflow here. Cannot be fixed without breaking the API */
return (int)i; return (int)size;
} }
static cJSON* get_array_item(const cJSON *array, size_t index) static cJSON* get_array_item(const cJSON *array, size_t index)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册