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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 delta 28671 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 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