--- libelwix/src/json.c 2019/09/24 15:49:52 1.8 +++ libelwix/src/json.c 2024/10/26 14:55:56 1.9.34.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: json.c,v 1.8 2019/09/24 15:49:52 misho Exp $ +* $Id: json.c,v 1.9.34.1 2024/10/26 14:55:56 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -427,7 +427,10 @@ json_token2val(const char *jstr, jtok_t * __restrict t return NULL; AIT_SET_STRSIZ(v, json_toklen(tok)); - strncpy(AIT_GET_STR(v), json_tokstr(jstr, tok), AIT_LEN(v) - 1); + if (AIT_GET_STR(v)) + strncpy(AIT_GET_STR(v), json_tokstr(jstr, tok), AIT_LEN(v) - 1); + else + ait_freeVar(&v); return v; } @@ -567,7 +570,7 @@ json_findbykey(const char *jstr, const char *key, jtyp klen = strlen(key); for (i = 1; i < toksnum; i++) { - if (toks[i].tok_type == J_STRING && + if (toks[i].tok_type == J_STRING && toks[i].tok_size == 1 && klen == toks[i].tok_end - toks[i].tok_start && !strncmp(jstr + toks[i].tok_start, key, klen)) { if (type != J_UNDEF) {