aboutsummaryrefslogtreecommitdiff
path: root/src/trigger.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2007-08-22 20:18:21 +0000
committerdrh <drh@noemail.net>2007-08-22 20:18:21 +0000
commitf3a65f7e443865f00b6799ba9637604b0ae55dc5 (patch)
tree5fc48b237b66cb49164f136fd222f6a49a21c304 /src/trigger.c
parentdd97a49c1a90e31dae5d47ee91e2618eb4b57eb8 (diff)
downloadsqlite-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.c8
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;