|  | @@ -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;
 |  | 
 | 
											
												
													
														|  | -    size_t i = 0;
 |  | 
 | 
											
												
													
														|  | -    while(c)
 |  | 
 | 
											
												
													
														|  | 
 |  | +    cJSON *child = NULL;
 | 
											
												
													
														|  | 
 |  | +    size_t size = 0;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    if (array == NULL)
 | 
											
												
													
														|  |      {
 |  |      {
 | 
											
												
													
														|  | -        i++;
 |  | 
 | 
											
												
													
														|  | -        c = c->next;
 |  | 
 | 
											
												
													
														|  | 
 |  | +        return 0;
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    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)
 |