From: drh <> Date: Fri, 19 Mar 2021 16:29:40 +0000 (+0000) Subject: Dbsqlfuzz found a new way to make that branch in codeVectorCompare X-Git-Tag: same-as-3.35.3~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=340fd0bc232ffeb38f605c4360569e82130c3b4b;p=thirdparty%2Fsqlite.git Dbsqlfuzz found a new way to make that branch in codeVectorCompare reachable. FossilOrigin-Name: 959272c27555e39f180d46257afe45d41da1f5df38ea269196c06741ff6a278e --- diff --git a/manifest b/manifest index 0397d58c15..99befd19b4 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\stokenizer's\sclassification\sof\sEBCDIC\snewline. -D 2021-03-19T15:02:59.810 +C Dbsqlfuzz\sfound\sa\snew\sway\sto\smake\sthat\sbranch\sin\scodeVectorCompare\nreachable. +D 2021-03-19T16:29:40.489 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -494,7 +494,7 @@ F src/date.c e0632f335952b32401482d099321bbf12716b29d6e72836b53ae49683ebae4bf F src/dbpage.c 8a01e865bf8bc6d7b1844b4314443a6436c07c3efe1d488ed89e81719047833a F src/dbstat.c 3aa79fc3aed7ce906e4ea6c10e85d657299e304f6049861fe300053ac57de36c F src/delete.c 73f57a9a183532c344a3135cf8f2a5589376e39183e0b5f562d6b61b2af0f4d8 -F src/expr.c 984bb2ded097e32ab55c74abcc6f8b190ce5153b6e6d0161b186ba8c936fd8b3 +F src/expr.c d681f0b48b1e16173ad8e1e8f7323cda120a0c517cb7a3d5b329c4e2c57f18bd F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007 F src/fkey.c e9063648396c58778f77583a678342fe4a9bc82436bf23c5f9f444f2df0fdaa4 F src/func.c 479f6929be027eb0210cbdde9d3529c012facf082d64a6b854a9415940761e5e @@ -1303,7 +1303,7 @@ F test/round1.test 768018b04522ca420b1aba8a24bd76091d269f3bce3902af3ec6ebcee41ab F test/rowallock.test 3f88ec6819489d0b2341c7a7528ae17c053ab7cc F test/rowhash.test 0bc1d31415e4575d10cacf31e1a66b5cc0f8be81 F test/rowid.test bfbd7b97d9267660be3c8f28507c4ed7f205196b8877c0db42df347c2e8845e3 -F test/rowvalue.test b5436c767394a3f8fa5e7e474b2114ba430fdab34a5c8573c1b6256756534565 +F test/rowvalue.test 6795850abf6243e96f09ef041919d1ea61713332237b60d01371c0fee73f6379 F test/rowvalue2.test 060d238b7e5639a7c5630cb5e63e311b44efef2b F test/rowvalue3.test 3068f508753af69884b12125995f023da0dbb256 F test/rowvalue4.test 02e35f7762371c2f57ebd856aa056eac56cb27ef7715a0bb31eac1895a745356 @@ -1910,7 +1910,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P e3a78b2a237a2e101faf01dde913f63641da8854720a9daa4b45a9c5dfe30b1b -R 167f43555244d0f5e16a9a8c35eced48 -U larrybr -Z b41157889309f12fd102fb371fb7b655 +P 8680f6a8fb34b9c0ea9b4286888b4df5df427d2df10c782d198bc3f2fdcd0704 +Q -e3a78b2a237a2e101faf01dde913f63641da8854720a9daa4b45a9c5dfe30b1b +R 0c398f65129257e7e775e6833cec8370 +U drh +Z c6f0a90e3c4ced48d29dbd1f0482c120 diff --git a/manifest.uuid b/manifest.uuid index 9ff787e88b..0565452393 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -8680f6a8fb34b9c0ea9b4286888b4df5df427d2df10c782d198bc3f2fdcd0704 \ No newline at end of file +959272c27555e39f180d46257afe45d41da1f5df38ea269196c06741ff6a278e \ No newline at end of file diff --git a/src/expr.c b/src/expr.c index fb8456b193..bd12ad9f0c 100644 --- a/src/expr.c +++ b/src/expr.c @@ -615,7 +615,7 @@ static void codeVectorCompare( int isCommuted = ExprHasProperty(pExpr,EP_Commuted); assert( !ExprHasVVAProperty(pExpr,EP_Immutable) ); - if( NEVER(pParse->nErr) ) return; + if( pParse->nErr ) return; if( nLeft!=sqlite3ExprVectorSize(pRight) ){ sqlite3ErrorMsg(pParse, "row value misused"); return; diff --git a/test/rowvalue.test b/test/rowvalue.test index 91a59e71c3..b9967a865a 100644 --- a/test/rowvalue.test +++ b/test/rowvalue.test @@ -657,4 +657,10 @@ do_catchsql_test 28.10 { DELETE FROM t0; } {1 {sub-select returns 2 columns - expected 1}} +# 2021-03-19 +# dbsqlfuzz find of a NEVER(). +do_catchsql_test 29.1 { + SELECT (SELECT 1 WHERE ((SELECT 1 WHERE (2,(2,0)) IS (2,(20))),(2,0)) IS (2,(20))) WHERE (2,(2,0)) IS (2 IN(SELECT 1 WHERE (2,(2,2,0)) IS (2,(20))),(20)); +} {1 {row value misused}} + finish_test