Fix missing NULL check in rjp object key setting. Fix allowing empty key in object member addition
This commit is contained in:
parent
16bb20a09f
commit
7395f41ccc
@ -51,7 +51,8 @@ RJP_value* rjp_new_member_steal_key(RJP_value* dest, char* key, RJP_index keylen
|
||||
if(!key)
|
||||
return NULL;
|
||||
if(!keylen)
|
||||
keylen = strlen(key);
|
||||
if(!(keylen = strlen(key)))
|
||||
return NULL;
|
||||
switch(dest->type){
|
||||
case rjp_json_object:
|
||||
return irjp_add_unordered_member(dest, key, keylen);
|
||||
@ -65,7 +66,8 @@ RJP_value* rjp_new_member(RJP_value* dest, const char* key, RJP_index keylen){
|
||||
if(!key)
|
||||
return NULL;
|
||||
if(!keylen)
|
||||
keylen = rjp_escape_strlen(key);
|
||||
if(!(keylen = rjp_escape_strlen(key)))
|
||||
return NULL;
|
||||
char* newkey = rjp_alloc(keylen+1);
|
||||
rjp_escape_strcpy(newkey, key);
|
||||
newkey[keylen] = 0;
|
||||
@ -123,7 +125,7 @@ void rjp_set_key(RJP_value* dest, const char* key, RJP_index keylen){
|
||||
}
|
||||
char* newkey = rjp_alloc(keylen + 1);
|
||||
strncpy(newkey, key, keylen+1);
|
||||
rjp_set_key(dest, newkey, keylen);
|
||||
rjp_set_key_steal(dest, newkey, keylen);
|
||||
}
|
||||
void rjp_set_key_steal(RJP_value* dest, char* key, RJP_index keylen){
|
||||
if(key){
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user