mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-16 23:02:26 +03:00
Fix a memory leak in test code on this branch.
FossilOrigin-Name: 60cd9da9258e0b701d4bb3f9c91c5d0a12e925b9b937df619b09f33a287b4a33
This commit is contained in:
16
src/test1.c
16
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 ){
|
||||
|
||||
Reference in New Issue
Block a user