1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

Clear up another zero-length array. This seems to fix the segfault in

func-13.4 too. (CVS 1641)

FossilOrigin-Name: 70680a34b4b617286d92730bd3042b8b569b3371
This commit is contained in:
drh
2004-06-19 15:40:23 +00:00
parent 998da3a287
commit f92c7ff74a
7 changed files with 43 additions and 37 deletions

View File

@@ -218,7 +218,7 @@ void *sqlite3_get_auxdata(sqlite3_context *pCtx, int iArg){
if( !pVdbeFunc || iArg>=pVdbeFunc->nAux || iArg<0 ){
return 0;
}
return pCtx->pVdbeFunc->apAux[iArg].pAux;
return pVdbeFunc->apAux[iArg].pAux;
}
/*
@@ -233,18 +233,19 @@ void sqlite3_set_auxdata(
void (*xDelete)(void*)
){
struct AuxData *pAuxData;
VdbeFunc *pVdbeFunc;
if( iArg<0 ) return;
if( !pCtx->pVdbeFunc || pCtx->pVdbeFunc->nAux<=iArg ){
VdbeFunc *pVdbeFunc;
int nMalloc = sizeof(VdbeFunc)+sizeof(struct AuxData)*iArg;
pCtx->pVdbeFunc = pVdbeFunc = sqliteRealloc(pCtx->pVdbeFunc, nMalloc);
pVdbeFunc = pCtx->pVdbeFunc;
if( !pVdbeFunc || pVdbeFunc->nAux<=iArg ){
int nMalloc = sizeof(VdbeFunc) + sizeof(struct AuxData)*iArg;
pCtx->pVdbeFunc = pVdbeFunc = sqliteRealloc(pVdbeFunc, nMalloc);
if( !pVdbeFunc ) return;
pVdbeFunc->nAux = iArg+1;
pVdbeFunc->pFunc = pCtx->pFunc;
}
pAuxData = &pCtx->pVdbeFunc->apAux[iArg];
pAuxData = &pVdbeFunc->apAux[iArg];
if( pAuxData->pAux && pAuxData->xDelete ){
pAuxData->xDelete(pAuxData->pAux);
}