From 9bb612f2c8d0e1e9672aa019b0f05059b6c24c3a Mon Sep 17 00:00:00 2001 From: drh Date: Fri, 2 Oct 2020 12:42:51 +0000 Subject: [PATCH] Fix a faulty assert() statement. Add new test cases. FossilOrigin-Name: 80ecdb3da4558bb08ee3ec6edbde906ad5b3b8182e672b5ba0d5dfa8041cee0a --- manifest | 16 ++++++++-------- manifest.uuid | 2 +- src/expr.c | 4 +++- test/fuzzdata8.db | Bin 1602560 -> 1616896 bytes test/select1.test | 9 +++++++++ 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/manifest b/manifest index 8fcb59af13..ed943c4e83 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C For\sthe\sOP_SeekScan\soptimization,\sthe\sOP_IdxGT\sdoes\snot\snecessarily\scome\nright\safter\sthe\sOP_SeekGE.\s\s\sSo\suse\sthe\sP2\soperand\sof\sOP_SeekScan\sto\spoint\nto\sthe\sfirst\sinstruction\safter\sOP_IdxGT.\s\sProblem\sfound\sby\sdbsqlfuzz. -D 2020-10-02T11:55:07.348 +C Fix\sa\sfaulty\sassert()\sstatement.\s\sAdd\snew\stest\scases. +D 2020-10-02T12:42:51.317 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -489,7 +489,7 @@ F src/date.c dace306a10d9b02ee553d454c8e1cf8d3c9b932e137738a6b15b90253a9bfc10 F src/dbpage.c 8a01e865bf8bc6d7b1844b4314443a6436c07c3efe1d488ed89e81719047833a F src/dbstat.c 3aa79fc3aed7ce906e4ea6c10e85d657299e304f6049861fe300053ac57de36c F src/delete.c a2a603ab07cced8560065b0e2c4c9c842f2c5a2fd43d87355f95eb53bae7fe21 -F src/expr.c 4c8b9c2942adb896b9d1613794bd00cbf98c94e38c41cd5720b78bcdc21a965d +F src/expr.c 2cfe739c81e9751123b900dee54f6d34f8ec4b747515a51f1771de8e2840650d F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007 F src/fkey.c 83372403298e6a7dd989a47aaacdbaa5b4307b5199dbd56e07d4896066b3de72 F src/func.c 2333eb4277f55a5efdc12ef754e7d7ec9105d257b2fd00301d23ce1e8fa67dc0 @@ -1037,7 +1037,7 @@ F test/fuzzdata4.db b502c7d5498261715812dd8b3c2005bad08b3a26e6489414bd13926cd3e4 F test/fuzzdata5.db e35f64af17ec48926481cfaf3b3855e436bd40d1cfe2d59a9474cb4b748a52a5 F test/fuzzdata6.db 92a80e4afc172c24f662a10a612d188fb272de4a9bd19e017927c95f737de6d7 F test/fuzzdata7.db 0166b56fd7a6b9636a1d60ef0a060f86ddaecf99400a666bb6e5bbd7199ad1f2 -F test/fuzzdata8.db 99f99201280962430f3287e879e050ba88fe458d05cbf28e37ecab369ffe2e86 +F test/fuzzdata8.db f8451a1fd38efbea8c1a7cdf5d02259c4702446a9fabf566becd306b64a50236 F test/fuzzer1.test 3d4c4b7e547aba5e5511a2991e3e3d07166cfbb8 F test/fuzzer2.test a85ef814ce071293bce1ad8dffa217cbbaad4c14 F test/fuzzerfault.test 8792cd77fd5bce765b05d0c8e01b9edcf8af8536 @@ -1314,7 +1314,7 @@ F test/schema6.test e4bd1f23d368695eb9e7b51ef6e02ca0642ea2ab4a52579959826b5e7dce F test/schemafault.test 1936bceca55ac82c5efbcc9fc91a1933e45c8d1e1d106b9a7e56c972a5a2a51e F test/securedel.test 2f70b2449186a1921bd01ec9da407fbfa98c3a7a5521854c300c194b2ff09384 F test/securedel2.test 2d54c28e46eb1fd6902089958b20b1b056c6f1c5 -F test/select1.test 009a6d8eacd9684d046302b8d13b50846a87e39d6f08e92178aa13e95ea29a2d +F test/select1.test 0ed936740777f52858b6607f39ffac4b2b63b8fc7edf3ab2ebad3c3553ceecee F test/select2.test 352480e0e9c66eda9c3044e412abdf5be0215b56 F test/select3.test c49fbb758903f3718e2de5aa4655eda4838131cbea24a86db908f8b6889aa68c F test/select4.test e8a2502e3623f3058871030599a48abb35789d2244d5b380ecf3696873fdd4a4 @@ -1882,7 +1882,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P c75c3a3b756635bfdab44e4b56a337e4a88af3a8803cd3e9a67abf3d0d3450dc -R 77a10f931fe8a41cf53227c081acbc3f +P 091d71939411bf2079098f09ddc0525f11f380119fd27114e2b3eec9a8ac0db4 +R ab2660b8b3dcfc34d3f30bc4d246a05d U drh -Z d91a0ab90aafbccf74379e7aee46aee8 +Z a26077e1b2dfaf7c2f33f5727d3e0262 diff --git a/manifest.uuid b/manifest.uuid index cefaca244f..23a0b8446c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -091d71939411bf2079098f09ddc0525f11f380119fd27114e2b3eec9a8ac0db4 \ No newline at end of file +80ecdb3da4558bb08ee3ec6edbde906ad5b3b8182e672b5ba0d5dfa8041cee0a \ No newline at end of file diff --git a/src/expr.c b/src/expr.c index 7277bb75de..2c4d233311 100644 --- a/src/expr.c +++ b/src/expr.c @@ -45,7 +45,9 @@ char sqlite3TableColumnAffinity(Table *pTab, int iCol){ char sqlite3ExprAffinity(const Expr *pExpr){ int op; while( ExprHasProperty(pExpr, EP_Skip|EP_IfNullRow) ){ - assert( pExpr->op==TK_COLLATE || pExpr->op==TK_IF_NULL_ROW ); + assert( pExpr->op==TK_COLLATE + || pExpr->op==TK_IF_NULL_ROW + || (pExpr->op==TK_REGISTER && pExpr->op2==TK_IF_NULL_ROW) ); pExpr = pExpr->pLeft; assert( pExpr!=0 ); } diff --git a/test/fuzzdata8.db b/test/fuzzdata8.db index 2408696440a54ad9f95e1788afaf5804ef931832..39191fc8b1f03935f6b661eab5af1e2e2fba7285 100644 GIT binary patch delta 38282 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 K|J!5V{>3Qyb5~!Cx2A;EB-&Zud0{PE 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 Priea)+-tI(*9!a>-x@yC diff --git a/test/select1.test b/test/select1.test index b9414d3857..82e6ab55c8 100644 --- a/test/select1.test +++ b/test/select1.test @@ -1201,4 +1201,13 @@ do_execsql_test select-20.20 { SELECT ifnull(a, max((SELECT 123))), count(a) FROM t1 ; } {10 1} +# 2020-10-02 dbsqlfuzz find +reset_db +do_execsql_test select-21.1 { + CREATE TABLE t1(a IMTEGES PRIMARY KEY,R); + CREATE TABLE t2(x UNIQUE); + CREATE VIEW v1a(z,y) AS SELECT x IS NULL, x FROM t2; + SELECT a,(+a)b,(+a)b,(+a)b,NOT EXISTS(SELECT null FROM t2),CASE z WHEN 487 THEN 992 WHEN 391 THEN 203 WHEN 10 THEN '?k