]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
fix parser stack overflow (CVS 119)
authordrh <drh@noemail.net>
Tue, 1 Aug 2000 09:56:27 +0000 (09:56 +0000)
committerdrh <drh@noemail.net>
Tue, 1 Aug 2000 09:56:27 +0000 (09:56 +0000)
FossilOrigin-Name: bffca90f37a69c5bd26b719a964408e0e518a7dc

manifest
manifest.uuid
src/parse.y
www/changes.tcl
www/index.tcl

index e5df5e6629eedc98ab26f8c990910076ccbf24d7..129fa8c22e5186fbd37da7d952a81a6339b2248b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C :-)\s(CVS\s118)
-D 2000-07-31T19:16:32
+C fix\sparser\sstack\soverflow\s(CVS\s119)
+D 2000-08-01T09:56:27
 F COPYRIGHT 74a8a6531a42e124df07ab5599aad63870fa0bd4
 F Makefile.in 670aa9413cb2cdcded23b328a9e255c845c41a1e
 F README 51f6a4e7408b34afa5bc1c0485f61b6a4efb6958
@@ -13,7 +13,7 @@ F src/delete.c 4d491eaf61b515516749c7ed68fa3b2ee8a09065
 F src/expr.c 2fa63f086707176d09092e71832f9bbdc6a8ac85
 F src/insert.c f146f149ad2422a1dc3bfa7a1651a25940f98958
 F src/main.c c4b6678af8326cc602f61de51d451697451fd177
-F src/parse.y 754653f073ee03749471f86ef1bca641b35887c7
+F src/parse.y 5d199034de5d29ebedb42c1c51f34db4df40cbe5
 F src/select.c d382e96c2221d08367cc87976f2b574537c9de97
 F src/shell.c a5eb8ee9d5f90e735900a92e7fc364a54deb2cfb
 F src/sqlite.h 82ae53028e27919250f886ff9d7c4927de81978a
@@ -59,16 +59,16 @@ F www/arch.fig 4e26e9dca3c49724fc8f554c695ddea9f2413156
 F www/arch.png c4d908b79065a72e7dcf19317f36d1324c550e87
 F www/arch.tcl 4f6a9afecc099a27bba17b4f8cc9561abc15dc40
 F www/c_interface.tcl 29593cf77025bab137b7ba64b9459eb5eb6b4873
-F www/changes.tcl 874d7b801a9370326e74cc34f119c62f361cb697
+F www/changes.tcl bfd60af0af1cd81030a14dd072fb0214f44b1470
 F www/crosscompile.tcl 19734ce7f18b16ff2ed8479412abf8aca56e1dcc
 F www/fileformat.tcl f3a70650e942262f8285d53097d48f0b3aa59862
-F www/index.tcl 9d89a0441491460b35b2e467e49bf65154bcd485
+F www/index.tcl 8043911df3baacc5be42c40c9bd0883602e8a63a
 F www/lang.tcl 1645e9107d75709be4c6099b643db235bbe0a151
 F www/mingw.tcl fc5f4ba9d336b6e8c97347cc6496d6162461ef60
 F www/opcode.tcl cb3a1abf8b7b9be9f3a228d097d6bf8b742c2b6f
 F www/sqlite.tcl 69781eaffb02e17aa4af28b76a2bedb19baa8e9f
 F www/vdbe.tcl bcbfc33bcdd0ebad95eab31286adb9e1bc289520
-P 8fc48dd4831dbd58a0c10b043686ea52ca1db6dd
-R 34b08c8ea4884986bf1ceed39f1cdde6
+P 4132d4760f6a2cbcf853f82546987d932e76e3c1
+R 463a993a466cf480cd166cfd852b8351
 U drh
-Z 13a69076e075a1729ee9466c15878585
+Z 9d9beee969b260700b91790c5774a3ef
index 9c5bcb62a8e8b52563b94ffb8dcf437fcaf9a8b6..ad28fd3e9382e8c2cbe06f27afb6b163639208ab 100644 (file)
@@ -1 +1 @@
-4132d4760f6a2cbcf853f82546987d932e76e3c1
\ No newline at end of file
+bffca90f37a69c5bd26b719a964408e0e518a7dc
\ No newline at end of file
index 194262ec65fbf201aae138933574b95f34382685..80496c40dd2b19f1f3dd142458c9cfaa54a741ee 100644 (file)
@@ -26,7 +26,7 @@
 ** the parser.  Lemon will also generate a header file containing
 ** numeric codes for all of the tokens.
 **
-** @(#) $Id: parse.y,v 1.24 2000/07/29 13:06:59 drh Exp $
+** @(#) $Id: parse.y,v 1.25 2000/08/01 09:56:27 drh Exp $
 */
 %token_prefix TK_
 %token_type {Token}
@@ -246,7 +246,7 @@ where_opt(A) ::= WHERE expr(X).       {A = X;}
 cmd ::= UPDATE id(X) SET setlist(Y) where_opt(Z).
     {sqliteUpdate(pParse,&X,Y,Z);}
 
-setlist(A) ::= id(X) EQ expr(Y) COMMA setlist(Z).
+setlist(A) ::= setlist(Z) COMMA id(X) EQ expr(Y).
     {A = sqliteExprListAppend(Z,Y,&X);}
 setlist(A) ::= id(X) EQ expr(Y).   {A = sqliteExprListAppend(0,Y,&X);}
 
index d2dd080272a6fca1787e72f2cc021ffe081fa6f0..012447ec173bf5383c96a604681fcba18012f981 100644 (file)
@@ -17,6 +17,11 @@ proc chng {date desc} {
   puts "<DD><P><UL>$desc</UL></P></DD>"
 }
 
+chng {2000 Aug 1} {
+<li>The parser's stack was overflowing on a very long UPDATE statement.
+    This is now fixed.</li>
+}
+
 chng {2000 July 31} {
 <li>Finish the <a href="vdbe.html">VDBE tutorial</a>.</li>
 <li>Added documentation on compiling to WindowsNT.</li>
index 4895783b7bf1fe6f029b4511cb9ee6b2b7d0e32f..5dc4f6fd1d51853626b71eeb489158b5984e7575 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Run this TCL script to generate HTML for the index.html file.
 #
-set rcsid {$Id: index.tcl,v 1.21 2000/07/31 19:16:32 drh Exp $}
+set rcsid {$Id: index.tcl,v 1.22 2000/08/01 09:56:27 drh Exp $}
 
 puts {<html>
 <head><title>SQLite: An SQL Database Engine Built Atop GDBM</title></head>
@@ -59,8 +59,7 @@ the <a href="http://www.google.com/search?q=gnu+readline+library">GNU
 Readline library</a></li>
 <li>A Tcl-based test suite provides near 100% code coverage</li>
 <li>7500+ lines of C code.  No external dependencies other than GDBM.</li>
-<li>Built and tested under Linux, HPUX, and WinNT.
-Should work under any Unix or Win95/98/2000.</li>
+<li>Built and tested under Linux, HPUX, and WinNT.</li>
 </ul>
 </p>