aboutsummaryrefslogtreecommitdiff
path: root/src/vdbetrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vdbetrace.c')
-rw-r--r--src/vdbetrace.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/vdbetrace.c b/src/vdbetrace.c
index d30cf3acd..7b4736399 100644
--- a/src/vdbetrace.c
+++ b/src/vdbetrace.c
@@ -141,12 +141,10 @@ char *sqlite3VdbeExpandSql(
if( enc!=SQLITE_UTF8 ){
memset(&utf8, 0, sizeof(utf8));
utf8.db = db;
- if( SQLITE_NOMEM==sqlite3VdbeMemSetStr(&utf8,pVar->z,pVar->n,enc,SQLITE_STATIC)
- || SQLITE_NOMEM==sqlite3VdbeChangeEncoding(&utf8, SQLITE_UTF8)
- ){
- sqlite3StrAccumReset(&out);
- sqlite3VdbeMemRelease(&utf8);
- return 0;
+ sqlite3VdbeMemSetStr(&utf8, pVar->z, pVar->n, enc, SQLITE_STATIC);
+ if( SQLITE_NOMEM==sqlite3VdbeChangeEncoding(&utf8, SQLITE_UTF8) ){
+ out.accError = STRACCUM_NOMEM;
+ out.nAlloc = 0;
}
pVar = &utf8;
}
@@ -189,6 +187,7 @@ char *sqlite3VdbeExpandSql(
}
}
}
+ if( out.accError ) sqlite3StrAccumReset(&out);
return sqlite3StrAccumFinish(&out);
}