]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a bug in Fossil that might cause it to crash if there is
authordrh <drh@noemail.net>
Sat, 5 Sep 2020 06:21:54 +0000 (06:21 +0000)
committerdrh <drh@noemail.net>
Sat, 5 Sep 2020 06:21:54 +0000 (06:21 +0000)
a multi-terminal token with a space following the "|" separator.
This does not affect SQLite.

FossilOrigin-Name: 430c5d1da57af452f236cc862139d84ab97b6020f6d327dae5268c58e6e83a87

manifest
manifest.uuid
tool/lemon.c

index 5498925793ab29143a15e9034dcd6606c570277f..711a650d62cac6eb7049773ff7b6d3e71034174b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\stsan\serror\sthat\scould\soccur\swhen\susing\sshared-cache\smode.
-D 2020-09-04T19:10:43.046
+C Fix\sa\sbug\sin\sFossil\sthat\smight\scause\sit\sto\scrash\sif\sthere\sis\na\smulti-terminal\stoken\swith\sa\sspace\sfollowing\sthe\s"|"\sseparator.\nThis\sdoes\snot\saffect\sSQLite.
+D 2020-09-05T06:21:54.289
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -1799,7 +1799,7 @@ F tool/genfkey.test b6afd7b825d797a1e1274f519ab5695373552ecad5cd373530c63533638a
 F tool/getlock.c f4c39b651370156cae979501a7b156bdba50e7ce
 F tool/index_usage.c f62a0c701b2c7ff2f3e21d206f093c123f222dbf07136a10ffd1ca15a5c706c5
 F tool/kvtest-speed.sh 4761a9c4b3530907562314d7757995787f7aef8f
-F tool/lemon.c 992ef3a155c83fed9b49092af355b7f7d8cb426b2f9d32a30f602b8da50b00f6
+F tool/lemon.c 68f547dabafdaedafe2e253651122de33340486c169ae67087ab0eb4fbc8a646
 F tool/lempar.c dc1f5e8a0847c2257b0b069c61e290227062c4d75f5b5a0797b75b08b1c00405
 F tool/libvers.c caafc3b689638a1d88d44bc5f526c2278760d9b9
 F tool/loadfts.c c3c64e4d5e90e8ba41159232c2189dba4be7b862
@@ -1880,7 +1880,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 5dd05940617fb05ee2faf212b15afc3a8e9695318eccb76761b37359fea681d1
-R 0274cf48514643c9c3f213a9959e5172
-U dan
-Z c8e0642635bfc4eca0e83411ec752c32
+P de80bc87300257cc49d98e2d22e914211f213dce912f320c8b37b3883c73923c
+R facb72b5cc955d8ca9224dab23a822fa
+U drh
+Z 3d5047b2637f17549cccb477c1c6f3d6
index d93272820f9118f276394a5720e26e2416eedd3b..e956a6fd8ae9cc8cc482ef033a41656e2767ab5e 100644 (file)
@@ -1 +1 @@
-de80bc87300257cc49d98e2d22e914211f213dce912f320c8b37b3883c73923c
\ No newline at end of file
+430c5d1da57af452f236cc862139d84ab97b6020f6d327dae5268c58e6e83a87
\ No newline at end of file
index 59b0fcbe425af4e5f2cd0a9a6ecd2cdaf517bb74..a18f0a26291ee79fbd6aff84f1a89065474065ea 100644 (file)
@@ -2426,7 +2426,7 @@ static void parseonetoken(struct pstate *psp)
           psp->alias[psp->nrhs] = 0;
           psp->nrhs++;
         }
-      }else if( (x[0]=='|' || x[0]=='/') && psp->nrhs>0 ){
+      }else if( (x[0]=='|' || x[0]=='/') && psp->nrhs>0 && ISUPPER(x[1]) ){
         struct symbol *msp = psp->rhs[psp->nrhs-1];
         if( msp->type!=MULTITERMINAL ){
           struct symbol *origsp = msp;