1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Fix a memory leak that occurs after a malloc failure in trigger parsing. (CVS 3772)

FossilOrigin-Name: 407a85e69b7a1229218a5ce9a9e31255c7070294
This commit is contained in:
drh
2007-03-30 20:40:34 +00:00
parent c416ba97bf
commit 0e3a6f3f53
3 changed files with 12 additions and 8 deletions

View File

@@ -1,5 +1,5 @@
C Fix\sa\smemory\sleak\sin\smulti-database\scommit.\s\sAlso\senhance\sa\scomment\sthat\nexplains\swhy\sa\sparticular\svalgrind\serror\sis\sharmless.\s(CVS\s3771)
D 2007-03-30T18:42:56
C Fix\sa\smemory\sleak\sthat\soccurs\safter\sa\smalloc\sfailure\sin\strigger\sparsing.\s(CVS\s3772)
D 2007-03-30T20:40:34
F Makefile.in 2f2c3bf69faf0ae7b8e8af4f94f1986849034530
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -118,7 +118,7 @@ F src/test_schema.c ced72140a3a25c148975428e170ec1850d3c3a7d
F src/test_server.c a6460daed0b92ecbc2531b6dc73717470e7a648c
F src/test_tclvar.c 315e77c17f128ff8c06b38c08617fd07c825a95b
F src/tokenize.c bb1732ef2b6fc2143f93ff28a45d3dcb04c1d396
F src/trigger.c 8c55d31876013ed4e97ee7ce24478fbe00db49bb
F src/trigger.c 7f65762a7400031937774067a07cddc3f3c03e29
F src/update.c 3359041db390a8f856d67272f299600e2104f350
F src/utf.c 67ecb1032bc0b42c105e88d65ef9d9f626eb0e1f
F src/util.c 8e8180ee5597f2474c1da311ff3c464b6966c0f1
@@ -447,7 +447,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
P c1aca18fad35be60066a08f5bd09772d24375af6
R d3989353f3b76217fb1661204ddd5484
P 28c7ed1eb799203a569cdae97da974b347f39579
R a0905c32cd90b0b80a1bc1360611ccd5
U drh
Z d9338063531486f14e383e7f3e14d3e3
Z bf54325597d09c764d008fa62cbdee79

View File

@@ -1 +1 @@
28c7ed1eb799203a569cdae97da974b347f39579
407a85e69b7a1229218a5ce9a9e31255c7070294

View File

@@ -390,7 +390,11 @@ TriggerStep *sqlite3TriggerUpdateStep(
int orconf /* The conflict algorithm. (OE_Abort, OE_Ignore, etc) */
){
TriggerStep *pTriggerStep = sqliteMalloc(sizeof(TriggerStep));
if( pTriggerStep==0 ) return 0;
if( pTriggerStep==0 ){
sqlite3ExprListDelete(pEList);
sqlite3ExprDelete(pWhere);
return 0;
}
pTriggerStep->op = TK_UPDATE;
pTriggerStep->target = *pTableName;