From: drh <> Date: Thu, 2 May 2024 11:52:31 +0000 (+0000) Subject: Do not accept a string that looks like a number used as an argument to X-Git-Tag: version-3.46.0~36^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=78bc1339ac9abe90927fdfcd71bf017595b80554;p=thirdparty%2Fsqlite.git Do not accept a string that looks like a number used as an argument to PRAGMA integrity_check as a number. Treat it as a table name that just happens to look like a number. FossilOrigin-Name: b04e7a23478f1012e501a810f3e09cca81a66e802f5f72cae80c81120174e2cb --- diff --git a/manifest b/manifest index c00ad06360..d7bfebc567 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Omit\sthe\sOP_SqlExec\sto\s"PRAGMA\sintegrity_check"\sadded\sby\s[348fa7aaf7958b3f]\nbecause\sit\sis\sa\sno-op.\s\sEven\sif\sthe\sintegrity_check\sfailes,\sthe\sCREATE\sTABLE\nis\sstull\ssuccessful.\s\sThe\sOP_SqlExec\sjust\sburns\sCPU\scycles\sfor\sno\sreason. -D 2024-05-02T11:51:26.866 +C Do\snot\saccept\sa\sstring\sthat\slooks\slike\sa\snumber\sused\sas\san\sargument\sto\nPRAGMA\sintegrity_check\sas\sa\snumber.\s\sTreat\sit\sas\sa\stable\sname\sthat\sjust\nhappens\sto\slook\slike\sa\snumber. +D 2024-05-02T11:52:31.688 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -745,7 +745,7 @@ F src/parse.y 5bcef16094213efcc365a9d4dc4e3131f09251dc8838dce4a9e5f9764bff5b82 F src/pcache.c 040b165f30622a21b7a9a77c6f2e4877a32fb7f22d4c7f0d2a6fa6833a156a75 F src/pcache.h 1497ce1b823cf00094bb0cf3bac37b345937e6f910890c626b16512316d3abf5 F src/pcache1.c 602acb23c471bb8d557a6f0083cc2be641d6cafcafa19e481eba7ef4c9ca0f00 -F src/pragma.c f8f1845b42df684e9d31c5a1628c989a34939686049d7878bc5394ac1ae9cac4 +F src/pragma.c d357a25276d222adfd4637c48880409ec4539f30844b74001c6ba5c7d1a1f0f7 F src/pragma.h e690a356c18e98414d2e870ea791c1be1545a714ba623719deb63f7f226d8bb7 F src/prepare.c 371f6115cb69286ebc12c6f2d7511279c2e47d9f54f475d46a554d687a3b312c F src/printf.c 8b250972305e14b365561be5117ed0fd364e4fd58968776df1ce64c6280b90f9 @@ -2187,11 +2187,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 1c7e33a8aa0e6122b5ef606e4a7d95e8ecd9440216d4b099fe8f2a40653422be -R fa686d9a513ff74fa7b322c41469fcee -T *branch * faster-create -T *sym-faster-create * -T -sym-trunk * +P 532795acd1c800751737fe70148f9ae691e9cf11b836577f8538421d24cab2fe +R ac4ea06b7b0d066e4f57370f325b3bc3 U drh -Z 8e0fd4c6a3749c78cd7f96ba5b5be837 +Z fc28259a0336795cd85fcb803ce7457a # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index ab55c07118..ac399de21c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -532795acd1c800751737fe70148f9ae691e9cf11b836577f8538421d24cab2fe \ No newline at end of file +b04e7a23478f1012e501a810f3e09cca81a66e802f5f72cae80c81120174e2cb \ No newline at end of file diff --git a/src/pragma.c b/src/pragma.c index 8af18cbf20..80864da79f 100644 --- a/src/pragma.c +++ b/src/pragma.c @@ -1703,7 +1703,7 @@ void sqlite3Pragma( /* Set the maximum error count */ mxErr = SQLITE_INTEGRITY_CHECK_ERROR_MAX; if( zRight ){ - if( sqlite3GetInt32(zRight, &mxErr) ){ + if( sqlite3GetInt32(pValue->z, &mxErr) ){ if( mxErr<=0 ){ mxErr = SQLITE_INTEGRITY_CHECK_ERROR_MAX; }