Hi,
We have sqlite 3.0.7 running on ARM platform with the RTOS from JMI. We
have the problem with the following "free" sequence done in build.c in the
function sqliteDeleteIndex.
Index *pOld;
assert( db!=0 && p->zName!=0 );
pOld = sqlite3HashInsert(&db->aDb[p->iDb].idxHash, p->zName,
strlen((char*)p->zName)+1, 0);
if( pOld!=0 && pOld!=p ){
sqlite3HashInsert(&db->aDb[p->iDb].idxHash, pOld->zName,
strlen((char*)pOld->zName)+1, pOld);
}
if( p->zColAff ){
sqliteFree(p->zColAff);
}
freeIndex(p)
and the function freeIndex frees the p->zColAff. With our application we
are having problems of freeing the same pointer again and again.
Though it could be attributed to our own limitation of freeing Memory
still I feel that freeing the same pointer again could be removed. Please
look into the problem and if required solve the same. I have freeing of
p->zCollAff removed in my application and I am not having any more
problems (during sqlite3_close().
Thank you,
Regards,
Sankara Narayanan B