Fix crash of cJSON_GetObjectItemCaseSensitive when calling it on arrays

This commit is contained in:
Max Bruckner
2018-12-16 11:06:40 +01:00
parent cb1df2f88c
commit be749d7efa
2 changed files with 29 additions and 1 deletions

View File

@ -1781,7 +1781,7 @@ static cJSON *get_object_item(const cJSON * const object, const char * const nam
current_element = object->child;
if (case_sensitive)
{
while ((current_element != NULL) && (strcmp(name, current_element->string) != 0))
while ((current_element != NULL) && (current_element->string != NULL) && (strcmp(name, current_element->string) != 0))
{
current_element = current_element->next;
}
@ -1794,6 +1794,10 @@ static cJSON *get_object_item(const cJSON * const object, const char * const nam
}
}
if ((current_element == NULL) || (current_element->string == NULL)) {
return NULL;
}
return current_element;
}