| @@ -202,7 +202,7 @@ struct json_object *json_tokener_parse_verbose(const char *str, enum json_tokene | |||||
| */ | */ | ||||
| || json_tokener_get_parse_end(tok) != strlen(str) | || json_tokener_get_parse_end(tok) != strlen(str) | ||||
| #endif | #endif | ||||
| ) | |||||
| ) | |||||
| { | { | ||||
| if (obj != NULL) | if (obj != NULL) | ||||
| @@ -874,13 +874,10 @@ struct json_object *json_tokener_parse_ex(struct json_tokener *tok, const char * | |||||
| } | } | ||||
| } | } | ||||
| while (c && | |||||
| ((c >= '0' && c <= '9') || | |||||
| (!is_exponent && (c=='e' || c=='E')) || | |||||
| (neg_sign_ok && c=='-') || | |||||
| (pos_sign_ok && c=='+') || | |||||
| (!tok->is_double && c=='.') | |||||
| )) | |||||
| while (c && ((c >= '0' && c <= '9') || | |||||
| (!is_exponent && (c == 'e' || c == 'E')) || | |||||
| (neg_sign_ok && c == '-') || (pos_sign_ok && c == '+') || | |||||
| (!tok->is_double && c == '.'))) | |||||
| { | { | ||||
| pos_sign_ok = neg_sign_ok = 0; | pos_sign_ok = neg_sign_ok = 0; | ||||
| ++case_len; | ++case_len; | ||||
| @@ -922,10 +919,8 @@ struct json_object *json_tokener_parse_ex(struct json_tokener *tok, const char * | |||||
| because c can be part of a new object to parse on the | because c can be part of a new object to parse on the | ||||
| next call to json_tokener_parse(). | next call to json_tokener_parse(). | ||||
| */ | */ | ||||
| if (tok->depth > 0 && | |||||
| c != ',' && c != ']' && c != '}' && c != '/' && | |||||
| c != 'I' && c != 'i' && | |||||
| !isspace((unsigned char)c)) | |||||
| if (tok->depth > 0 && c != ',' && c != ']' && c != '}' && c != '/' && | |||||
| c != 'I' && c != 'i' && !isspace((unsigned char)c)) | |||||
| { | { | ||||
| tok->err = json_tokener_error_parse_number; | tok->err = json_tokener_error_parse_number; | ||||
| goto out; | goto out; | ||||
| @@ -371,7 +371,7 @@ struct incremental_step | |||||
| {"[0e-]", -1, -1, json_tokener_success, 1}, | {"[0e-]", -1, -1, json_tokener_success, 1}, | ||||
| {"[0e-]", -1, 4, json_tokener_error_parse_number, 1, JSON_TOKENER_STRICT}, | {"[0e-]", -1, 4, json_tokener_error_parse_number, 1, JSON_TOKENER_STRICT}, | ||||
| /* You might expect this to fail, but it won't because | |||||
| /* You might expect this to fail, but it won't because | |||||
| it's a valid partial parse; note the char_offset: */ | it's a valid partial parse; note the char_offset: */ | ||||
| {"0e+-", 5, 3, json_tokener_success, 1}, | {"0e+-", 5, 3, json_tokener_success, 1}, | ||||
| {"0e+-", 5, 3, json_tokener_error_parse_number, 1, JSON_TOKENER_STRICT}, | {"0e+-", 5, 3, json_tokener_error_parse_number, 1, JSON_TOKENER_STRICT}, | ||||
| @@ -453,7 +453,7 @@ struct incremental_step | |||||
| {"{\"a\":1}{\"b\":2}", 15, 7, json_tokener_success, 0}, | {"{\"a\":1}{\"b\":2}", 15, 7, json_tokener_success, 0}, | ||||
| {&"{\"a\":1}{\"b\":2}"[7], 8, 7, json_tokener_success, 1}, | {&"{\"a\":1}{\"b\":2}"[7], 8, 7, json_tokener_success, 1}, | ||||
| /* | |||||
| /* | |||||
| * Though this may seem invalid at first glance, it | * Though this may seem invalid at first glance, it | ||||
| * parses as three separate numbers, 2015, -1 and -15 | * parses as three separate numbers, 2015, -1 and -15 | ||||
| * Of course, simply pasting together a stream of arbitrary | * Of course, simply pasting together a stream of arbitrary | ||||