]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
An oversize hex literal can cause a parsing error while generating code for
authordrh <drh@noemail.net>
Wed, 15 Apr 2015 04:10:50 +0000 (04:10 +0000)
committerdrh <drh@noemail.net>
Wed, 15 Apr 2015 04:10:50 +0000 (04:10 +0000)
constants that are factored out of the main body of the VDBE program.  So
allow for that case.

FossilOrigin-Name: a084690b4fcabba20d9770ebf3a014dda84e2954

manifest
manifest.uuid
src/build.c
test/hexlit.test

index 821eb96f29c50c1bfe41ee4398e01f848cc582e1..70d58da81f0e6e14d80c27914e062363a88ca140 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sthe\s--summary\soption\sto\sthe\ssqldiff\scommand-line\stool.
-D 2015-04-14T19:01:08.549
+C An\soversize\shex\sliteral\scan\scause\sa\sparsing\serror\swhile\sgenerating\scode\sfor\nconstants\sthat\sare\sfactored\sout\sof\sthe\smain\sbody\sof\sthe\sVDBE\sprogram.\s\sSo\nallow\sfor\sthat\scase.
+D 2015-04-15T04:10:50.814
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 5f78b1ab81b64e7c57a75d170832443e66c0880a
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -176,7 +176,7 @@ F src/btmutex.c 45a968cc85afed9b5e6cf55bf1f42f8d18107f79
 F src/btree.c 67648f6532c2da79d3b3fb6853aa1a0c3ba0e1ad
 F src/btree.h 969adc948e89e449220ff0ff724c94bb2a52e9f1
 F src/btreeInt.h 973a22a6fd61350b454ad614832b1f0a5e25a1e4
-F src/build.c fa4795bc795077388aa4e746e1b25ef97bc10489
+F src/build.c 01b969b20a44a3d9620e597d9af8242348123540
 F src/callback.c 7b44ce59674338ad48b0e84e7b72f935ea4f68b0
 F src/complete.c a5cf5b4b56390cfb7b8636e8f7ddef90258dd575
 F src/ctime.c 98f89724adc891a1a4c655bee04e33e716e05887
@@ -633,7 +633,7 @@ F test/fuzz_malloc.test 328f70aaca63adf29b4c6f06505ed0cf57ca7c26
 F test/fuzzer1.test d4c52aaf3ef923da293a2653cfab33d02f718a36
 F test/fuzzerfault.test 8792cd77fd5bce765b05d0c8e01b9edcf8af8536
 F test/genesis.tcl 1e2e2e8e5cc4058549a154ff1892fe5c9de19f98
-F test/hexlit.test f9ecde8145bfc2341573473256c74ae37a200497
+F test/hexlit.test 1d312fa816dfd3650a3bb488093bc09a0c927f67
 F test/hook.test 162d7cef7a2d2b04839fe14402934e6a1b79442f
 F test/icu.test 70df4faca133254c042d02ae342c0a141f2663f4
 F test/imposter1.test c3f1db2d3db2c24611a6596a3fc0ffc14f1466c8
@@ -1250,7 +1250,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 b549cbcee1c11f9ffedf763ca672b125eac87bfe
-R 64950626ad311356247b51bbef2cd09d
+P 88b22761c59b06fa86c57f8d22a46046ad17d5d5
+R a0a6eb36c09cbd9c15f1359867fe74af
 U drh
-Z 2d35d7a2b23bff60413bdff46818cee3
+Z 7045f923a68da4f66662aff61189246b
index 674f6cdaa237f27e416f0f1f9ac4d50d64cfe970..81075d42b9e13cb496f8ea3b3f3598e0d0790c7f 100644 (file)
@@ -1 +1 @@
-88b22761c59b06fa86c57f8d22a46046ad17d5d5
\ No newline at end of file
+a084690b4fcabba20d9770ebf3a014dda84e2954
\ No newline at end of file
index 9d8465561f5ed6f557ffdb7096e28b3d499f8acd..3021ad4e51e940fa5ac5e1a480a6eaeab6b2c0eb 100644 (file)
@@ -226,7 +226,7 @@ void sqlite3FinishCoding(Parse *pParse){
 
   /* Get the VDBE program ready for execution
   */
-  if( v && ALWAYS(pParse->nErr==0) && !db->mallocFailed ){
+  if( v && pParse->nErr==0 && !db->mallocFailed ){
     assert( pParse->iCacheLevel==0 );  /* Disables and re-enables match */
     /* A minimum of one cursor is required if autoincrement is used
     *  See ticket [a696379c1f08866] */
index 10909e6f4c011c6c9ceb6547d3b3ada80b833b4b..2edd458e89291a1bfac113925c031c180a40ec9a 100644 (file)
@@ -109,6 +109,11 @@ do_execsql_test hexlit-301 {
 do_catchsql_test hexlist-400 {
   SELECT 0x10000000000000000;
 } {1 {hex literal too big: 0x10000000000000000}}
+do_catchsql_test hexlist-410 {
+  DROP TABLE IF EXISTS t1;
+  CREATE TABLE t1(x);
+  INSERT INTO t1 VALUES(1+0x10000000000000000);
+} {1 {hex literal too big: 0x10000000000000000}}
 
 
 finish_test