aboutsummaryrefslogtreecommitdiff
path: root/src/json.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/json.c')
-rw-r--r--src/json.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/json.c b/src/json.c
index 864504386..0f11ace02 100644
--- a/src/json.c
+++ b/src/json.c
@@ -432,13 +432,19 @@ static void jsonAppendNormalizedString(JsonString *p, const char *zIn, u32 N){
zIn++;
N -= 2;
while( N>0 ){
- for(i=0; i<N && zIn[i]!='\\'; i++){}
+ for(i=0; i<N && zIn[i]!='\\' && zIn[i]!='"'; i++){}
if( i>0 ){
jsonAppendRawNZ(p, zIn, i);
zIn += i;
N -= i;
if( N==0 ) break;
}
+ if( zIn[0]=='"' ){
+ jsonAppendRawNZ(p, "\\\"", 2);
+ zIn++;
+ N--;
+ continue;
+ }
assert( zIn[0]=='\\' );
switch( (u8)zIn[1] ){
case '\'':