diff options
author | drh <> | 2023-07-26 21:53:09 +0000 |
---|---|---|
committer | drh <> | 2023-07-26 21:53:09 +0000 |
commit | f7a164f34518825ae0351fd1c4453df8f30c3afe (patch) | |
tree | 5eeed11a5d3f41d042f97793e521637d8ac06019 /src/json.c | |
parent | 3f3dc2f5d8c8fb5fad4d94f5d1dc05926cb34794 (diff) | |
download | sqlite-f7a164f34518825ae0351fd1c4453df8f30c3afe.tar.gz sqlite-f7a164f34518825ae0351fd1c4453df8f30c3afe.zip |
Minor changes to make coverage testing easier.
FossilOrigin-Name: ec8b43382e5402e15d9f2dda3cf21ac8be8c1589ddbe6c9433c33eef0036f764
Diffstat (limited to 'src/json.c')
-rw-r--r-- | src/json.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/json.c b/src/json.c index 26ce90c51..7fb860a6e 100644 --- a/src/json.c +++ b/src/json.c @@ -2828,14 +2828,17 @@ static void jsonReplaceNode( break; } if( sqlite3_value_subtype(pValue)!=JSON_SUBTYPE ){ - int k = jsonParseAddNode(p, JSON_STRING, n, z); char *zCopy = sqlite3DbStrDup(0, z); - if( k>0 ) p->aNode[k].jnFlags |= JNODE_RAW; + int k; if( zCopy ){ jsonParseAddCleanup(p, sqlite3_free, zCopy); - }else{ + }else{ + p->oom = 1; sqlite3_result_error_nomem(pCtx); } + k = jsonParseAddNode(p, JSON_STRING, n, zCopy); + assert( k>0 || p->oom ); + if( p->oom==0 ) p->aNode[k].jnFlags |= JNODE_RAW; }else{ JsonParse *pPatch = jsonParseCached(pCtx, pValue, pCtx, 1); if( pPatch==0 ){ |