]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a double-free of the FROM clause of an UPDATE inside of triggers.
authordrh <drh@noemail.net>
Thu, 16 Jul 2020 02:36:24 +0000 (02:36 +0000)
committerdrh <drh@noemail.net>
Thu, 16 Jul 2020 02:36:24 +0000 (02:36 +0000)
FossilOrigin-Name: 706c8da2f6d9299f0ad3b3c93332b38071e8e88b4d1660c1841309919b64fd18

manifest
manifest.uuid
src/trigger.c

index 1b34e3dc94b6655605d445bf0343f9c91b47a518..9ad0351559d511b029b63cfb8afc01d607c6134a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,6 +1,6 @@
 B 7a876209a678a34c198b54ceef9e3c041f128a14dc73357f6a57cadadaa6cf7b
-C Separate\sVdbeCoverage()\smacro\sfor\sdifferent\sjumps.
-D 2020-07-16T00:45:25.487
+C Fix\sa\sdouble-free\sof\sthe\sFROM\sclause\sof\san\sUPDATE\sinside\sof\striggers.
+D 2020-07-16T02:36:24.506
 F Makefile.in 19374a5db06c3199ec1bab71ab74a103d8abf21053c05e9389255dc58083f806
 F Makefile.msc 48f5a3fc32672c09ad73795749f6253e406a31526935fbbffd8f021108d54574
 F autoconf/Makefile.am a8d1d24affe52ebf8d7ddcf91aa973fa0316618ab95bb68c87cabf8faf527dc8
@@ -30,7 +30,7 @@ F src/select.c a48570f614f777d02dd7f419789944225432a9231b2dbca863411ac19e5fb683
 F src/shell.c.in 81fa23ac1a3d6ac9ed13e9ae711a3d8806396ca7cc12c5d6a2e2536f70b0c7ad
 F src/sqliteInt.h e2684c4ba7ee9c0a0529ae2eb847cc5bf923e4104a9d0944bf3d9d151856b6ab
 F src/test1.c fe56c4bcaa2685ca9aa25d817a0ee9345e189aff4a5a71a3d8ba946c7776feb8
-F src/trigger.c 6ff9c64a06e6354df8eba08ae18bc809e79931175d39dda32bf1101adee238e5
+F src/trigger.c ef67bde309a831515dc3c2173d792574309f2f42d45f8c078743fae9f7f98c75
 F src/update.c 9cfa2f840c69c28c5767b68cf38b4e7847e06ac0610978814f913d469d863900
 F src/util.c c0bacc165f46169d2b720c37c8719165e383211698fad1de39dd16a8c161815a
 F src/vdbe.c 981666c49d33039df6dc9fccd40191575586ac4866255b2f57819cc5eb99f572
@@ -65,7 +65,7 @@ F tool/mksqlite3c.tcl f4ef476510eca4124c874a72029f1e01bc54a896b1724e8f9eef0d8bfa
 F tool/mksqlite3h.tcl 1f5e4a1dbbbc43c83cc6e74fe32c6c620502240b66c7c0f33a51378e78fc4edf
 F tool/showlocks.c 9cc5e66d4ebbf2d194f39db2527ece92077e86ae627ddd233ee48e16e8142564
 F tool/speed-check.sh 615cbdf50f1409ef3bbf9f682e396df80f49d97ed93ed3e61c8e91fae6afde58
-P 8ca87526523a985674fed5a8770726587b3a2e48d65721916902063ab5dba49c
-R 9c7b449e6c53be5488a226bb21219882
+P da593e57df042527decfea68baacc72d463728544cab81c70fbb25839791f706
+R 3c1be9d78ac76070b4e1e9b0ee27588a
 U drh
-Z 8582c27790c994357e14d43636223ab3
+Z ff8d21dd1304c045d5436546299b72d7
index f68ef7db532f3758dc631f46348eee32db01cace..e0583b80495fd1fd0ee685fedc39f668bb173545 100644 (file)
@@ -1 +1 @@
-da593e57df042527decfea68baacc72d463728544cab81c70fbb25839791f706
\ No newline at end of file
+706c8da2f6d9299f0ad3b3c93332b38071e8e88b4d1660c1841309919b64fd18
\ No newline at end of file
index 883eddc2d11093213419d7cb193862d6abf290ca..7ab5d95be30fd2c1e18c3f40598132000ef6f628 100644 (file)
@@ -512,8 +512,6 @@ TriggerStep *sqlite3TriggerUpdateStep(
       pTriggerStep->pFrom = sqlite3SrcListDup(db, pFrom, EXPRDUP_REDUCE);
     }
     pTriggerStep->orconf = orconf;
-  }else{
-    sqlite3SrcListDelete(db, pFrom);
   }
   sqlite3ExprListDelete(db, pEList);
   sqlite3ExprDelete(db, pWhere);