load.c (jansson-2.13.1.tar.bz2) | : | load.c (jansson-2.14.tar.bz2) | ||
---|---|---|---|---|
skipping to change at line 692 | skipping to change at line 692 | |||
if (!key) | if (!key) | |||
return NULL; | return NULL; | |||
if (memchr(key, '\0', len)) { | if (memchr(key, '\0', len)) { | |||
jsonp_free(key); | jsonp_free(key); | |||
error_set(error, lex, json_error_null_byte_in_key, | error_set(error, lex, json_error_null_byte_in_key, | |||
"NUL byte in object key not supported"); | "NUL byte in object key not supported"); | |||
goto error; | goto error; | |||
} | } | |||
if (flags & JSON_REJECT_DUPLICATES) { | if (flags & JSON_REJECT_DUPLICATES) { | |||
if (json_object_get(object, key)) { | if (json_object_getn(object, key, len)) { | |||
jsonp_free(key); | jsonp_free(key); | |||
error_set(error, lex, json_error_duplicate_key, "duplicate objec t key"); | error_set(error, lex, json_error_duplicate_key, "duplicate objec t key"); | |||
goto error; | goto error; | |||
} | } | |||
} | } | |||
lex_scan(lex, error); | lex_scan(lex, error); | |||
if (lex->token != ':') { | if (lex->token != ':') { | |||
jsonp_free(key); | jsonp_free(key); | |||
error_set(error, lex, json_error_invalid_syntax, "':' expected"); | error_set(error, lex, json_error_invalid_syntax, "':' expected"); | |||
goto error; | goto error; | |||
} | } | |||
lex_scan(lex, error); | lex_scan(lex, error); | |||
value = parse_value(lex, flags, error); | value = parse_value(lex, flags, error); | |||
if (!value) { | if (!value) { | |||
jsonp_free(key); | jsonp_free(key); | |||
goto error; | goto error; | |||
} | } | |||
if (json_object_set_new_nocheck(object, key, value)) { | if (json_object_setn_new_nocheck(object, key, len, value)) { | |||
jsonp_free(key); | jsonp_free(key); | |||
goto error; | goto error; | |||
} | } | |||
jsonp_free(key); | jsonp_free(key); | |||
lex_scan(lex, error); | lex_scan(lex, error); | |||
if (lex->token != ',') | if (lex->token != ',') | |||
break; | break; | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added |