to not return TRUE for zero length string. Remove redundant includes. Erik Hovland, erik at hovland dot org git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@31 327403b1-1117-474d-bef2-5cb71233fd97tags/json-c-0.10-20120530
@@ -1,4 +1,7 @@ | |||||
0.9 | 0.9 | ||||
* Null pointer dereference fix. Fix json_object_get_boolean strlen test | |||||
to not return TRUE for zero length string. Remove redundant includes. | |||||
Erik Hovland, erik at hovland dot org | |||||
* Fixed warning reported by adding -Wstrict-prototypes | * Fixed warning reported by adding -Wstrict-prototypes | ||||
-Wold-style-definition to the compilatin flags. | -Wold-style-definition to the compilatin flags. | ||||
Dotan Barak, dotanba at gmail dot com | Dotan Barak, dotanba at gmail dot com | ||||
@@ -16,7 +16,7 @@ | |||||
# include <string.h> | # include <string.h> | ||||
#endif /* STDC_HEADERS */ | #endif /* STDC_HEADERS */ | ||||
#if HAVE_STRINGS_H | |||||
#if defined HAVE_STRINGS_H && !defined _STRING_H && !defined __USE_BSD | |||||
# include <strings.h> | # include <strings.h> | ||||
#endif /* HAVE_STRINGS_H */ | #endif /* HAVE_STRINGS_H */ | ||||
@@ -22,7 +22,6 @@ | |||||
#include "arraylist.h" | #include "arraylist.h" | ||||
#include "json_object.h" | #include "json_object.h" | ||||
#include "json_object_private.h" | #include "json_object_private.h" | ||||
#include "json_tokener.h" | |||||
#if !HAVE_STRNDUP | #if !HAVE_STRNDUP | ||||
char* strndup(const char* str, size_t n); | char* strndup(const char* str, size_t n); | ||||
@@ -306,7 +305,7 @@ boolean json_object_get_boolean(struct json_object *this) | |||||
case json_type_double: | case json_type_double: | ||||
return (this->o.c_double != 0); | return (this->o.c_double != 0); | ||||
case json_type_string: | case json_type_string: | ||||
if(strlen(this->o.c_string)) return TRUE; | |||||
return (strlen(this->o.c_string) != 0); | |||||
default: | default: | ||||
return TRUE; | return TRUE; | ||||
} | } | ||||
@@ -83,6 +83,9 @@ static void json_tokener_reset_level(struct json_tokener *tok, int depth) | |||||
void json_tokener_reset(struct json_tokener *tok) | void json_tokener_reset(struct json_tokener *tok) | ||||
{ | { | ||||
int i; | int i; | ||||
if (!tok) | |||||
return; | |||||
for(i = tok->depth; i >= 0; i--) | for(i = tok->depth; i >= 0; i--) | ||||
json_tokener_reset_level(tok, i); | json_tokener_reset_level(tok, i); | ||||
tok->depth = 0; | tok->depth = 0; | ||||
@@ -9,8 +9,6 @@ | |||||
* | * | ||||
*/ | */ | ||||
#include "config.h" | |||||
#include <stdio.h> | #include <stdio.h> | ||||
#include <string.h> | #include <string.h> | ||||
#include <stdlib.h> | #include <stdlib.h> | ||||