diff options
author | drh <drh@noemail.net> | 2007-08-22 20:18:21 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2007-08-22 20:18:21 +0000 |
commit | f3a65f7e443865f00b6799ba9637604b0ae55dc5 (patch) | |
tree | 5fc48b237b66cb49164f136fd222f6a49a21c304 /src/trigger.c | |
parent | dd97a49c1a90e31dae5d47ee91e2618eb4b57eb8 (diff) | |
download | sqlite-f3a65f7e443865f00b6799ba9637604b0ae55dc5.tar.gz sqlite-f3a65f7e443865f00b6799ba9637604b0ae55dc5.zip |
The malloc.test script now passes all tests with no errors. (CVS 4271)
FossilOrigin-Name: db818430e9ea4ef4a4af575784009d5acae785a3
Diffstat (limited to 'src/trigger.c')
-rw-r--r-- | src/trigger.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/trigger.c b/src/trigger.c index 785e57e43..252dd7b46 100644 --- a/src/trigger.c +++ b/src/trigger.c @@ -265,7 +265,8 @@ void sqlite3FinishTrigger( pDel = sqlite3HashInsert(&db->aDb[iDb].pSchema->trigHash, pTrig->name, strlen(pTrig->name), pTrig); if( pDel ){ - assert( db->mallocFailed && pDel==pTrig ); + assert( pDel==pTrig ); + db->mallocFailed = 1; goto triggerfinish_cleanup; } n = strlen(pTrig->table) + 1; @@ -356,11 +357,12 @@ TriggerStep *sqlite3TriggerInsertStep( Select *pSelect, /* A SELECT statement that supplies values */ int orconf /* The conflict algorithm (OE_Abort, OE_Replace, etc.) */ ){ - TriggerStep *pTriggerStep = sqlite3DbMallocZero(db, sizeof(TriggerStep)); + TriggerStep *pTriggerStep; assert(pEList == 0 || pSelect == 0); - assert(pEList != 0 || pSelect != 0); + assert(pEList != 0 || pSelect != 0 || db->mallocFailed); + pTriggerStep = sqlite3DbMallocZero(db, sizeof(TriggerStep)); if( pTriggerStep ){ pTriggerStep->op = TK_INSERT; pTriggerStep->pSelect = pSelect; |