aboutsummaryrefslogtreecommitdiff
path: root/src/json.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/json.c')
-rw-r--r--src/json.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/json.c b/src/json.c
index b28ba7ecd..e334b2214 100644
--- a/src/json.c
+++ b/src/json.c
@@ -2843,11 +2843,13 @@ static void jsonReplaceNode(
break;
}
if( sqlite3_value_subtype(pValue)!=JSON_SUBTYPE ){
- char *zCopy = sqlite3DbStrDup(0, z);
+ char *zCopy = sqlite3_malloc64( n+1 );
int k;
if( zCopy ){
+ memcpy(zCopy, z, n);
+ zCopy[n] = 0;
jsonParseAddCleanup(p, sqlite3_free, zCopy);
- }else{
+ }else{
p->oom = 1;
sqlite3_result_error_nomem(pCtx);
}