From: drh Date: Thu, 17 Jan 2019 01:06:00 +0000 (+0000) Subject: Fix a failure in sqlite3ExprCompare() X-Git-Tag: version-3.27.0~139 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f20bbc5f69186e9f04b498b7de2488f3c02f7364;p=thirdparty%2Fsqlite.git Fix a failure in sqlite3ExprCompare() FossilOrigin-Name: 835e2cc55feea2f2426c99816c27f9c35d2fd4cdd9bf1c7f46f889ecfd222778 --- diff --git a/manifest b/manifest index d30cd22f6d..190034c8bb 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sproblem\swith\sfix\s[b4b57413]. -D 2019-01-16T20:48:13.541 +C Fix\sa\sfailure\sin\ssqlite3ExprCompare() +D 2019-01-17T01:06:00.385 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in 2a9d0331ab57c68173a4c2fe9046fe89c4d916a888e04dd7a2d36958c2bff777 @@ -465,7 +465,7 @@ F src/date.c ebe1dc7c8a347117bb02570f1a931c62dd78f4a2b1b516f4837d45b7d6426957 F src/dbpage.c 135eb3b5e74f9ef74bde5cec2571192c90c86984fa534c88bf4a055076fa19b7 F src/dbstat.c c12833de69cb655751487d2c5a59607e36be1c58ba1f4bd536609909ad47b319 F src/delete.c 209cd8345b15d1843abeff2d91a6d9c765cf32ff4abcb24411c38fe08e18baab -F src/expr.c 716a241833ce105b02650f53495d0bd7aaa62a543e93611a6d25f4232ae51e24 +F src/expr.c b660eb4d6d273946a8341efb9d38320ddceb9c2931d04478c74b85c35e053a5e F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007 F src/fkey.c aaf28be73ab21e1e8bf4ac6b94269ebc8c93238d1e6997cb44b527b622e8ae6f F src/func.c 6cf832abbc2815fdb46fee654df32a66ab77deb47bf4cff04a5774dafecd497a @@ -1800,7 +1800,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 24ed5fb6aea30b098d2faf3cf9d638933e518657217e903239ffaa1e25d34f66 -R 517a448534cc4b6034034d2b08e4e979 -U dan -Z 547d0b49d1156d2841b1ae4c65318cc5 +P ca7b7aaed010ec67bec5355a9ac1d7f229d6d5f2ba2d796b76f5e908b1267688 +R 6444c875e3596c3cccf96b67bd262660 +U drh +Z f35694c9fb454eab54fdef5fbf3c7e42 diff --git a/manifest.uuid b/manifest.uuid index 5606b4160a..ec66b43c37 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ca7b7aaed010ec67bec5355a9ac1d7f229d6d5f2ba2d796b76f5e908b1267688 \ No newline at end of file +835e2cc55feea2f2426c99816c27f9c35d2fd4cdd9bf1c7f46f889ecfd222778 \ No newline at end of file diff --git a/src/expr.c b/src/expr.c index b595c0adb3..ed53fc7f98 100644 --- a/src/expr.c +++ b/src/expr.c @@ -4858,9 +4858,11 @@ int sqlite3ExprCompare(Parse *pParse, Expr *pA, Expr *pB, int iTab){ if( sqlite3WindowCompare(pParse,pA->y.pWin,pB->y.pWin)!=0 ) return 2; } #endif + }else if( pA->op==TK_NULL ){ + return 0; }else if( pA->op==TK_COLLATE ){ if( sqlite3_stricmp(pA->u.zToken,pB->u.zToken)!=0 ) return 2; - }else if( strcmp(pA->u.zToken,pB->u.zToken)!=0 ){ + }else if( ALWAYS(pB->u.zToken!=0) && strcmp(pA->u.zToken,pB->u.zToken)!=0 ){ return 2; } }