1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-30 19:03:16 +03:00

Remove an incorrect ALWAYS() macro. Fix for ticket [e5c6268dd807fa8950] -

a problem introduced in SQLite 3.9.0 and found by libFuzzer.

FossilOrigin-Name: 824ad96f72cb0c948ec98aca9d17a7e6790c575f
This commit is contained in:
drh
2015-11-24 02:10:52 +00:00
parent a9124d359b
commit 2edc5fd73a
4 changed files with 27 additions and 10 deletions

View File

@ -1,5 +1,5 @@
C Add\sa\sclarifying\scomment\sto\sthe\svirtual\stable\stest\smodule\s'test8'.
D 2015-11-24T01:17:01.246
C Remove\san\sincorrect\sALWAYS()\smacro.\s\sFix\sfor\sticket\s[e5c6268dd807fa8950]\s-\s\na\sproblem\sintroduced\sin\sSQLite\s3.9.0\sand\sfound\sby\slibFuzzer.
D 2015-11-24T02:10:52.306
F Makefile.in d828db6afa6c1fa060d01e33e4674408df1942a1
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc e928e68168df69b353300ac87c10105206653a03
@ -292,7 +292,7 @@ F src/ctime.c 509ef9c64d1321f42448f111da86400b1799218a
F src/date.c fb1c99172017dcc8e237339132c91a21a0788584
F src/dbstat.c ffd63fc8ba7541476ced189b95e95d7f2bc63f78
F src/delete.c 00af9f08a15ddc5cba5962d3d3e5bf2d67b2e7da
F src/expr.c dfccb439a2a981d71970ce3d15effeb59b258798
F src/expr.c cb1a419508e5b27769a91e00e36e94724e7b1d51
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
F src/fkey.c 31900763094a3736a5fc887469202eb579fef2d0
F src/func.c ecdd69ec6a1e406f04cc73324be2ebbf6354197f
@ -579,7 +579,7 @@ F test/descidx1.test 6d03b44c8538fe0eb4924e19fba10cdd8f3c9240
F test/descidx2.test 9f1a0c83fd57f8667c82310ca21b30a350888b5d
F test/descidx3.test 09ddbe3f5295f482d2f8b687cf6db8bad7acd9a2
F test/diskfull.test 106391384780753ea6896b7b4f005d10e9866b6e
F test/distinct.test 175d49ee783febaf368192dfe7f5afbc68910230
F test/distinct.test a1783b960ad8c15a77cd9f207be072898db1026c
F test/distinctagg.test 1a6ef9c87a58669438fc771450d7a72577417376
F test/e_blobbytes.test 9bea1d3e2b20f3010b04abba58f6ba172301f49f
F test/e_blobclose.test df756753f571bc30e42e3a6cba2807576e49e716
@ -1404,7 +1404,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 19d9f9ce691963310fa73ac5ff728ea8dea9d2b2
R 5f2e3f4f59d38b9500a642209d9901f8
U mistachkin
Z 92cc12dd9fcb76285889b066a4a2f02e
P e92f97a6794440eb9d64e21218d39cb0e297a98e
R 67e74267bda19ceddf30801e5b6dab85
U drh
Z 988f4fae8dad66d5bbc6c477f18a57af

View File

@ -1 +1 @@
e92f97a6794440eb9d64e21218d39cb0e297a98e
824ad96f72cb0c948ec98aca9d17a7e6790c575f

View File

@ -3818,7 +3818,7 @@ int sqlite3ExprCompare(Expr *pA, Expr *pB, int iTab){
}
return 2;
}
if( pA->op!=TK_COLUMN && ALWAYS(pA->op!=TK_AGG_COLUMN) && pA->u.zToken ){
if( pA->op!=TK_COLUMN && pA->op!=TK_AGG_COLUMN && pA->u.zToken ){
if( pA->op==TK_FUNCTION ){
if( sqlite3StrICmp(pA->u.zToken,pB->u.zToken)!=0 ) return 2;
}else if( strcmp(pA->u.zToken,pB->u.zToken)!=0 ){

View File

@ -252,4 +252,21 @@ do_execsql_test 5.6 {
SELECT DISTINCT x FROM t1 ORDER BY x;
} {1 2 3 4 5 6}
#-------------------------------------------------------------------------
# 2015-11-23. Problem discovered by Kostya Serebryany using libFuzzer
#
db close
sqlite3 db :memory:
do_execsql_test 6.1 {
CREATE TABLE jjj(x);
SELECT (SELECT 'mmm' UNION SELECT DISTINCT max(name) ORDER BY 1)
FROM sqlite_master;
} {jjj}
do_execsql_test 6.2 {
CREATE TABLE nnn(x);
SELECT (SELECT 'mmm' UNION SELECT DISTINCT max(name) ORDER BY 1)
FROM sqlite_master;
} {mmm}
finish_test