From: drh Date: Sun, 22 Mar 2015 10:23:17 +0000 (+0000) Subject: Fix a potential NULL pointer dereference following a syntax error. X-Git-Tag: version-3.8.9~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=74893a4cdb556804dc4a31615be90fc8a69b3686;p=thirdparty%2Fsqlite.git Fix a potential NULL pointer dereference following a syntax error. FossilOrigin-Name: 8d27e3e16a9be79fe227e833f4770ebe09a9d90b --- diff --git a/manifest b/manifest index 3552ab570d..012f08e737 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sharmless\scompiler\swarnings\swith\sMSVC\swhen\sassert()\sand\sSQLITE_MEMDEBUG\sare\sboth\senabled. -D 2015-03-21T23:38:59.970 +C Fix\sa\spotential\sNULL\spointer\sdereference\sfollowing\sa\ssyntax\serror. +D 2015-03-22T10:23:17.264 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 88a3e6261286db378fdffa1124cad11b3c05f5bb F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -182,7 +182,7 @@ F src/complete.c 198a0066ba60ab06fc00fba1998d870a4d575463 F src/ctime.c 98f89724adc891a1a4c655bee04e33e716e05887 F src/date.c e4d50b3283696836ec1036b695ead9a19e37a5ac F src/delete.c 37964e6c1d73ff49cbea9ff690c9605fb15f600e -F src/expr.c eb4d795abca1e876726aecc7aeb95ceb29e73fe7 +F src/expr.c d09dac67d53c78880ba31d56e8ba2be3a6490553 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb F src/fkey.c e0444b61bed271a76840cbe6182df93a9baa3f12 F src/func.c 1414c24c873c48796ad45942257a179a423ba42f @@ -741,7 +741,7 @@ F test/minmax.test 42fbad0e81afaa6e0de41c960329f2b2c3526efd F test/minmax2.test b44bae787fc7b227597b01b0ca5575c7cb54d3bc F test/minmax3.test cc1e8b010136db0d01a6f2a29ba5a9f321034354 F test/minmax4.test 936941484ebdceb8adec7c86b6cd9b6e5e897c1f -F test/misc1.test 4864f2834b203cad7f688df8a5f725e4bab08029 +F test/misc1.test f3f59b3941c84a10860c06c07e86ad367a74ec92 F test/misc2.test 00d7de54eda90e237fc9a38b9e5ccc769ebf6d4d F test/misc3.test cf3dda47d5dda3e53fc5804a100d3c82be736c9d F test/misc4.test 9c078510fbfff05a9869a0b6d8b86a623ad2c4f6 @@ -1246,7 +1246,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 03522da37821958c647d49bf8189a5affa3f6720 -R ec24cc7ca49e734053f58e4e5ed37882 -U mistachkin -Z e2c3eeafcd54988dc26d14970176c977 +P 9513dbd4860c8dd391f831982d09aff227d16f5c +R e779bfe0488c17857ae1dcf614dd348f +U drh +Z ca73f5b3867dd7a4dfc248e6290c5b53 diff --git a/manifest.uuid b/manifest.uuid index 73b0fff7f2..223b936105 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -9513dbd4860c8dd391f831982d09aff227d16f5c \ No newline at end of file +8d27e3e16a9be79fe227e833f4770ebe09a9d90b \ No newline at end of file diff --git a/src/expr.c b/src/expr.c index fe09b4b50b..e6ac0f6796 100644 --- a/src/expr.c +++ b/src/expr.c @@ -397,6 +397,7 @@ static void exprSetHeight(Expr *p){ ** Expr.flags. */ void sqlite3ExprSetHeightAndFlags(Parse *pParse, Expr *p){ + if( pParse->nErr ) return; exprSetHeight(p); sqlite3ExprCheckHeight(pParse, p->nHeight); } diff --git a/test/misc1.test b/test/misc1.test index d18223e67b..0f4881fb61 100644 --- a/test/misc1.test +++ b/test/misc1.test @@ -13,7 +13,6 @@ # This file implements tests for miscellanous features that were # left out of other test files. # -# $Id: misc1.test,v 1.42 2007/11/05 14:58:23 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -631,4 +630,13 @@ do_execsql_test misc1-20.1 { SELECT rowid, quote(x) FROM t0; } {1 ''} +# 2015-03-22: NULL pointer dereference after a syntax error +# +do_catchsql_test misc1-21.1 { + select''like''like''like#0; +} {1 {near "#0": syntax error}} +do_catchsql_test misc1-21.2 { + VALUES(0,0x0MATCH#0; +} {1 {near ";": syntax error}} + finish_test