mirror of
https://github.com/DaveGamble/cJSON.git
synced 2023-08-10 21:13:26 +03:00
fix #10, now failing on incorrect escape sequences
This commit is contained in:
parent
afd690d1c9
commit
dc4b62915a
9
cJSON.c
9
cJSON.c
@ -534,6 +534,11 @@ static const char *parse_string(cJSON *item, const char *str, const char **ep)
|
|||||||
case 't':
|
case 't':
|
||||||
*ptr2++ = '\t';
|
*ptr2++ = '\t';
|
||||||
break;
|
break;
|
||||||
|
case '\"':
|
||||||
|
case '\\':
|
||||||
|
case '/':
|
||||||
|
*ptr2++ = *ptr;
|
||||||
|
break;
|
||||||
case 'u':
|
case 'u':
|
||||||
/* transcode utf16 to utf8. See RFC2781 and RFC3629. */
|
/* transcode utf16 to utf8. See RFC2781 and RFC3629. */
|
||||||
uc = parse_hex4(ptr + 1); /* get the unicode char. */
|
uc = parse_hex4(ptr + 1); /* get the unicode char. */
|
||||||
@ -620,8 +625,8 @@ static const char *parse_string(cJSON *item, const char *str, const char **ep)
|
|||||||
ptr2 += len;
|
ptr2 += len;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
*ptr2++ = *ptr;
|
*ep = str;
|
||||||
break;
|
return 0;
|
||||||
}
|
}
|
||||||
ptr++;
|
ptr++;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user