]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add a missing memAboutToChange() macro to vdbe.c, the lack of which was causing an...
authordan <dan@noemail.net>
Mon, 14 Dec 2015 19:42:19 +0000 (19:42 +0000)
committerdan <dan@noemail.net>
Mon, 14 Dec 2015 19:42:19 +0000 (19:42 +0000)
FossilOrigin-Name: 1a24791109da607d502ac41f179fe6c1dc46c774

manifest
manifest.uuid
src/vdbe.c
test/with1.test

index b87841c026bcce4893e4d5e40a58ff02f0d0111a..dd22869db113ac562cd931c537e941edc91de356 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sa\snew\sassert()\sstatement\sto\sthe\ssnapshot-specific\spart\sof\ssqlite3WalBeginReadTrans().
-D 2015-12-11T14:59:49.435
+C Add\sa\smissing\smemAboutToChange()\smacro\sto\svdbe.c,\sthe\slack\sof\swhich\swas\scausing\san\sassert()\sto\sfail\sincorrectly.\sProblem\sfound\sby\slibfuzzer.
+D 2015-12-14T19:42:19.129
 F Makefile.in 28bcd6149e050dff35d4dcfd97e890cd387a499d
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc e8fdca1cb89a1b58b5f4d3a130ea9a3d28cb314d
@@ -404,7 +404,7 @@ F src/update.c 17332f9fe818cbc0444c36a811800af8498af4c3
 F src/utf.c fc6b889ba0779b7722634cdeaa25f1930d93820c
 F src/util.c e802e8e311a0d6c48cd1b3e89db164f6f0248d70
 F src/vacuum.c 2ddd5cad2a7b9cef7f9e431b8c7771634c6b1701
-F src/vdbe.c 4d75375fa8bf911aa76ab8383d6f7eea0dec0fda
+F src/vdbe.c 0bc683e68a71d5151898b6b13cfeb277337335a4
 F src/vdbe.h efb7a8c1459e31f3ea4377824c6a7e4cb5068637
 F src/vdbeInt.h 75c2e82ee3357e9210c06474f8d9bdf12c81105d
 F src/vdbeapi.c 020681b943e77766b32ae1cddf86d7831b7374ca
@@ -1336,7 +1336,7 @@ F test/wild001.test bca33f499866f04c24510d74baf1e578d4e44b1c
 F test/win32heap.test ea19770974795cff26e11575e12d422dbd16893c
 F test/win32lock.test fbf107c91d8f5512be5a5b87c4c42ab9fdd54972
 F test/win32longpath.test 169c75a3b2e43481f4a62122510210c67b08f26d
-F test/with1.test 05c8fc7f809f178a8a0519f02c21fe430948c895
+F test/with1.test cef099a491eac9874f2c28bd2dc86394fb3e47b3
 F test/with2.test 2b40da883658eb74ad8ad06afabe11a408e7fb87
 F test/with3.test 511bacdbe41c49cf34f9fd1bd3245fe1575bca98
 F test/withM.test e97f2a8c506ab3ea9eab94e6f6072f6cc924c991
@@ -1410,7 +1410,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P e998513e442ce1206b12dc28bdc996d7b5f9f94d
-R a4790a1ff73d4c37057dc2f097901685
+P d8a12023be32bdc6df18b0a5f38b917799854342
+R 3b6b45a5cba8add1b51b23a25852ed5f
 U dan
-Z 708cca6403fc05264746d6ebc901db59
+Z 6f448ee5f1ec122055dafde44e32aab7
index abbda4cf360dc5fdd918c7a3a0312abb6d005d4a..a64979ed1dc710f90850538496429d968b3bc441 100644 (file)
@@ -1 +1 @@
-d8a12023be32bdc6df18b0a5f38b917799854342
\ No newline at end of file
+1a24791109da607d502ac41f179fe6c1dc46c774
\ No newline at end of file
index f87fddafed9aceb6da84ec53e57797d4f5b9181e..2aeab897a121c9dd45c8898d9c174457d2416c55 100644 (file)
@@ -1981,6 +1981,7 @@ case OP_Ge: {             /* same as TK_GE, jump, in1, in3 */
       */
       if( pOp->p5 & SQLITE_STOREP2 ){
         pOut = &aMem[pOp->p2];
+        memAboutToChange(p, pOut);
         MemSetTypeFlag(pOut, MEM_Null);
         REGISTER_TRACE(pOp->p2, pOut);
       }else{
index d98f33dfb01ea804ea485dec829422c429179709..7345c5ceb3782ea2f1f91cd4aa51edcf268803e7 100644 (file)
@@ -975,4 +975,20 @@ do_execsql_test 17.9 {
   SELECT * FROM x4;
 } {10 11}
 
+# Added to test a fix to a faulty assert() discovered by libFuzzer.
+#
+do_execsql_test 18.1 {
+  WITH xyz(x) AS (VALUES(NULL) UNION SELECT round(1<x) FROM xyz ORDER BY 1)
+  SELECT quote(x) FROM xyz;
+} {NULL}
+do_execsql_test 18.2 {
+  WITH xyz(x) AS (
+    SELECT printf('%d', 5) * NULL
+    UNION SELECT round(1<1+x) 
+    FROM xyz ORDER BY 1
+  )
+  SELECT 1 FROM xyz;
+} 1
+
+
 finish_test