aboutsummaryrefslogtreecommitdiff
path: root/src/trigger.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2003-03-30 00:19:49 +0000
committerdrh <drh@noemail.net>2003-03-30 00:19:49 +0000
commit0be9df076a16b85e4c484c96bb2cd154b04d2381 (patch)
tree4652096fd1d57c0b832eeaf7a699852427e10368 /src/trigger.c
parent812d7a21dd30c9ed9aebdb063a3efedede092d63 (diff)
downloadsqlite-0be9df076a16b85e4c484c96bb2cd154b04d2381.tar.gz
sqlite-0be9df076a16b85e4c484c96bb2cd154b04d2381.zip
Fix a memory leak in triggers and update tests to show the latest error
message text. (CVS 886) FossilOrigin-Name: b90d9de32d10a71fe81f5bfd0cf57faae8c5c3b4
Diffstat (limited to 'src/trigger.c')
-rw-r--r--src/trigger.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/trigger.c b/src/trigger.c
index 2b7d35a24..7e48e4d57 100644
--- a/src/trigger.c
+++ b/src/trigger.c
@@ -171,6 +171,7 @@ void sqliteCreateTrigger(
/* Attach it to the table object */
nt->pNext = tab->pTrigger;
tab->pTrigger = nt;
+ sqliteSrcListDelete(pTableName);
return;
}else{
sqliteFree(nt->name);
@@ -380,7 +381,7 @@ void sqliteDropTrigger(Parse *pParse, SrcList *pName, int nested){
if( pTable->iDb ) code = SQLITE_DROP_TEMP_TRIGGER;
if( sqliteAuthCheck(pParse, code, pTrigger->name, pTable->zName) ||
sqliteAuthCheck(pParse, SQLITE_DELETE, SCHEMA_TABLE(pTable->iDb),0) ){
- return;
+ goto drop_trigger_cleanup;
}
}
#endif