mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-08 14:02:16 +03:00
Avoid using lookaside memory for persistent virtual table structures.
FossilOrigin-Name: d815f255dfbcd6d64326f7bc0ad3fe3c4ff08270ca75f8836ef2a919d5e57401
This commit is contained in:
11
src/vtab.c
11
src/vtab.c
@@ -42,8 +42,10 @@ Module *sqlite3VtabCreateModule(
|
||||
){
|
||||
Module *pMod;
|
||||
int nName = sqlite3Strlen30(zName);
|
||||
pMod = (Module *)sqlite3DbMallocRawNN(db, sizeof(Module) + nName + 1);
|
||||
if( pMod ){
|
||||
pMod = (Module *)sqlite3Malloc(sizeof(Module) + nName + 1);
|
||||
if( pMod==0 ){
|
||||
sqlite3OomFault(db);
|
||||
}else{
|
||||
Module *pDel;
|
||||
char *zCopy = (char *)(&pMod[1]);
|
||||
memcpy(zCopy, zName, nName+1);
|
||||
@@ -518,13 +520,14 @@ static int vtabCallConstructor(
|
||||
}
|
||||
}
|
||||
|
||||
zModuleName = sqlite3MPrintf(db, "%s", pTab->zName);
|
||||
zModuleName = sqlite3DbStrDup(db, pTab->zName);
|
||||
if( !zModuleName ){
|
||||
return SQLITE_NOMEM_BKPT;
|
||||
}
|
||||
|
||||
pVTable = sqlite3DbMallocZero(db, sizeof(VTable));
|
||||
pVTable = sqlite3MallocZero(sizeof(VTable));
|
||||
if( !pVTable ){
|
||||
sqlite3OomFault(db);
|
||||
sqlite3DbFree(db, zModuleName);
|
||||
return SQLITE_NOMEM_BKPT;
|
||||
}
|
||||
|
Reference in New Issue
Block a user