]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a faulty assert() in sqlite3SelectNew().
authordrh <drh@noemail.net>
Fri, 17 Apr 2015 15:16:58 +0000 (15:16 +0000)
committerdrh <drh@noemail.net>
Fri, 17 Apr 2015 15:16:58 +0000 (15:16 +0000)
FossilOrigin-Name: 620d19c3b462f5c4763ebd26513321431f21dd72

manifest
manifest.uuid
src/select.c
test/select1.test

index d8d547e501f97117105509c6f127ec42d31df6a5..0fba60c8e9d438e01f41aac74707de16e11589f7 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sthe\stool/fuzzershell.c\sutility\sprogram.
-D 2015-04-17T14:30:49.931
+C Fix\sa\sfaulty\sassert()\sin\ssqlite3SelectNew().
+D 2015-04-17T15:16:58.290
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in faaf75b89840659d74501bea269c7e33414761c1
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -230,7 +230,7 @@ F src/printf.c 08fa675c200aac29e561c6153f91f909ed17612f
 F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
 F src/resolve.c 66cfe49a9c3b449ef13b89a8c47036a4ed167eab
 F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
-F src/select.c d66970749a9d5a5b04950c9a26d6d0ea1320f91b
+F src/select.c e7d3f26dd2bb513049c6c585919aa195c862a287
 F src/shell.c 28b3e1174a7fc00155d7d00880a33589a88508c9
 F src/sqlite.h.in ca27603a36fcacdaac5a19d8ee35aaff8ce8516f
 F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
@@ -836,7 +836,7 @@ F test/schema4.test e6a66e20cc69f0e306667c08be7fda3d11707dc5
 F test/schema5.test 29699b4421f183c8f0e88bd28ce7d75d13ea653e
 F test/securedel.test 21749c32ccc30f1ea9e4b9f33295a6521ec20fa0
 F test/securedel2.test 2d54c28e46eb1fd6902089958b20b1b056c6f1c5
-F test/select1.test 53c3a5228b099601eafc7f3cc0e9cd682b07d9d5
+F test/select1.test be62204d2bd9a5a8a149e9974cfddce893d8f686
 F test/select2.test 352480e0e9c66eda9c3044e412abdf5be0215b56
 F test/select3.test 2ce595f8fb8e2ac10071d3b4e424cadd4634a054
 F test/select4.test 4b2df48129369a2a426f0f710fb94c50f75b31fb
@@ -1251,7 +1251,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 b355ca3a3f617cd6d4c45c8e27ecd75d9e68b792
-R d4d32c82236775154903bd68de367067
+P db8d9af4d04ee862995ffa13ae6dcd9a1fc72855
+R a2d46793733766d02a97971b373ce378
 U drh
-Z b7bf748b01ea8ab50dc7b538dea6204b
+Z 3bc04f03d72aa5c77d969deb6f174a4e
index b1fc9a1168082bec45a884a1233ecdd6b1fc6555..bc2b8b9300983798f7ca76402acbc32657eb67ff 100644 (file)
@@ -1 +1 @@
-db8d9af4d04ee862995ffa13ae6dcd9a1fc72855
\ No newline at end of file
+620d19c3b462f5c4763ebd26513321431f21dd72
\ No newline at end of file
index e4e5d6da8de0f87efd3e13342b0ba11b8a97487f..fc5740e80fdff81731b1e68e3d82f7823dd0ff6a 100644 (file)
@@ -111,7 +111,6 @@ Select *sqlite3SelectNew(
   Select standin;
   sqlite3 *db = pParse->db;
   pNew = sqlite3DbMallocZero(db, sizeof(*pNew) );
-  assert( db->mallocFailed || !pOffset || pLimit ); /* OFFSET implies LIMIT */
   if( pNew==0 ){
     assert( db->mallocFailed );
     pNew = &standin;
@@ -131,7 +130,7 @@ Select *sqlite3SelectNew(
   pNew->op = TK_SELECT;
   pNew->pLimit = pLimit;
   pNew->pOffset = pOffset;
-  assert( pOffset==0 || pLimit!=0 );
+  assert( pOffset==0 || pLimit!=0 || pParse->nErr>0 || db->mallocFailed!=0 );
   pNew->addrOpenEphm[0] = -1;
   pNew->addrOpenEphm[1] = -1;
   if( db->mallocFailed ) {
index 2ae91dc0fda86790fb8d9669bd92e9815767991b..4d6c07f2d0c6e02842da14b33950d4e1d54b7629 100644 (file)
@@ -1075,5 +1075,10 @@ if {[db one {PRAGMA locking_mode}]=="normal"} {
 do_test select1-16.1 {
   catchsql {SELECT 1 FROM (SELECT *)}
 } {1 {no tables specified}}
+
+# 2015-04-17:  assertion fix.
+do_catchsql_test select1-16.2 {
+  SELECT 1 FROM sqlite_master LIMIT 1,#1;
+} {1 {near "#1": syntax error}}
   
 finish_test