aboutsummaryrefslogtreecommitdiff
path: root/src/trigger.c
diff options
context:
space:
mode:
authordanielk1977 <danielk1977@noemail.net>2005-12-09 14:25:08 +0000
committerdanielk1977 <danielk1977@noemail.net>2005-12-09 14:25:08 +0000
commit2e588c7525a77b3a6cc53c67ea833f75f7e4052b (patch)
treeddcc123e58fd8bd9667533bdfe9b3926bd132cce /src/trigger.c
parentfde4a6f8a4e8f6edcc3ab6d3c658d42d704060c9 (diff)
downloadsqlite-2e588c7525a77b3a6cc53c67ea833f75f7e4052b.tar.gz
sqlite-2e588c7525a77b3a6cc53c67ea833f75f7e4052b.zip
Many small changes to ensure memory is not leaked after malloc() fails. (CVS 2808)
FossilOrigin-Name: 601c335463aaabc2e9918e4b9298cff6161be5c4
Diffstat (limited to 'src/trigger.c')
-rw-r--r--src/trigger.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/trigger.c b/src/trigger.c
index cc5fc080e..fc4f172ba 100644
--- a/src/trigger.c
+++ b/src/trigger.c
@@ -199,7 +199,7 @@ void sqlite3FinishTrigger(
pTrig = pParse->pNewTrigger;
pParse->pNewTrigger = 0;
- if( pParse->nErr || pTrig==0 ) goto triggerfinish_cleanup;
+ if( pParse->nErr || !pTrig ) goto triggerfinish_cleanup;
pTrig->step_list = pStepList;
while( pStepList ){
pStepList->pTrig = pTrig;
@@ -312,7 +312,10 @@ static void sqlitePersistTriggerStep(TriggerStep *p){
*/
TriggerStep *sqlite3TriggerSelectStep(Select *pSelect){
TriggerStep *pTriggerStep = sqliteMalloc(sizeof(TriggerStep));
- if( pTriggerStep==0 ) return 0;
+ if( pTriggerStep==0 ) {
+ sqlite3SelectDelete(pSelect);
+ return 0;
+ }
pTriggerStep->op = TK_SELECT;
pTriggerStep->pSelect = pSelect;