diff options
author | dan <Dan Kennedy> | 2021-10-30 17:58:25 +0000 |
---|---|---|
committer | dan <Dan Kennedy> | 2021-10-30 17:58:25 +0000 |
commit | 21b1c6ddaca2de314f18d0a6756bd443f9bb2f8c (patch) | |
tree | abab7f21c2e9d1839ed656dfb4debe64551c9b35 /src/test1.c | |
parent | e7c23433fb77aa3741e6008d624039392f6af7d0 (diff) | |
download | sqlite-21b1c6ddaca2de314f18d0a6756bd443f9bb2f8c.tar.gz sqlite-21b1c6ddaca2de314f18d0a6756bd443f9bb2f8c.zip |
Fix a memory leak in test code on this branch.
FossilOrigin-Name: 60cd9da9258e0b701d4bb3f9c91c5d0a12e925b9b937df619b09f33a287b4a33
Diffstat (limited to 'src/test1.c')
-rw-r--r-- | src/test1.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/test1.c b/src/test1.c index 6bf7b17d3..db14a607d 100644 --- a/src/test1.c +++ b/src/test1.c @@ -8292,27 +8292,25 @@ static int SQLITE_TCLAPI test_autovacuum_pages( sqlite3 *db; int rc; const char *zScript; - size_t nScript; if( objc!=2 && objc!=3 ){ Tcl_WrongNumArgs(interp, 1, objv, "DB ?SCRIPT?"); return TCL_ERROR; } if( getDbPointer(interp, Tcl_GetString(objv[1]), &db) ) return TCL_ERROR; zScript = objc==3 ? Tcl_GetString(objv[2]) : 0; - nScript = zScript ? strlen(zScript) : 0; - pData = sqlite3_malloc64( sizeof(*pData) + nScript + 1 ); - if( pData==0 ){ - Tcl_AppendResult(interp, "out of memory", (void*)0); - return TCL_ERROR; - } - pData->interp = interp; if( zScript ){ + size_t nScript = strlen(zScript); + pData = sqlite3_malloc64( sizeof(*pData) + nScript + 1 ); + if( pData==0 ){ + Tcl_AppendResult(interp, "out of memory", (void*)0); + return TCL_ERROR; + } + pData->interp = interp; pData->zScript = (char*)&pData[1]; memcpy(pData->zScript, zScript, nScript+1); rc = sqlite3_autovacuum_pages(db,test_autovacuum_pages_callback, pData, sqlite3_free); }else{ - pData->zScript = 0; rc = sqlite3_autovacuum_pages(db, 0, 0, 0); } if( rc ){ |