From: drh Date: Sat, 5 Sep 2020 06:21:54 +0000 (+0000) Subject: Fix a bug in Fossil that might cause it to crash if there is X-Git-Tag: version-3.34.0~109 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2b75d3beb0b38069e15faf58e7b28cd273cc273e;p=thirdparty%2Fsqlite.git Fix a bug in Fossil that might cause it to crash if there is a multi-terminal token with a space following the "|" separator. This does not affect SQLite. FossilOrigin-Name: 430c5d1da57af452f236cc862139d84ab97b6020f6d327dae5268c58e6e83a87 --- diff --git a/manifest b/manifest index 5498925793..711a650d62 100644 --- 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 diff --git a/manifest.uuid b/manifest.uuid index d93272820f..e956a6fd8a 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -de80bc87300257cc49d98e2d22e914211f213dce912f320c8b37b3883c73923c \ No newline at end of file +430c5d1da57af452f236cc862139d84ab97b6020f6d327dae5268c58e6e83a87 \ No newline at end of file diff --git a/tool/lemon.c b/tool/lemon.c index 59b0fcbe42..a18f0a2629 100644 --- a/tool/lemon.c +++ b/tool/lemon.c @@ -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;