From: drh <> Date: Mon, 18 Apr 2022 09:59:33 +0000 (+0000) Subject: Leave sqlite3ProcessJoin() early if an OOM is encountered in the NATURAL X-Git-Tag: version-3.39.0~206^2~35 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=abf86bd3133c71c5eae6203699dc9e469f981ab7;p=thirdparty%2Fsqlite.git Leave sqlite3ProcessJoin() early if an OOM is encountered in the NATURAL to USING converter. This avoids NULL pointer dereferences further along in the code. FossilOrigin-Name: 0ccb224e13ad44c7e1a3aa186821a929faabc0075fe15799476c00d9a92e9d91 --- diff --git a/manifest b/manifest index 4dd3668654..dadd1cbe4d 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sto\sthe\scoalesce()\sfunction\sgeneration\sin\sthe\sresolver. -D 2022-04-18T00:57:11.470 +C Leave\ssqlite3ProcessJoin()\searly\sif\san\sOOM\sis\sencountered\sin\sthe\sNATURAL\nto\sUSING\sconverter.\s\sThis\savoids\sNULL\spointer\sdereferences\sfurther\salong\sin\nthe\scode. +D 2022-04-18T09:59:33.646 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -552,7 +552,7 @@ F src/printf.c 05d8dfd2018bc4fc3ddb8b37eb97ccef7abf985643fa1caebdcf2916ca90fa32 F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c F src/resolve.c ce4cb0889f1bf5990b698740b88026385cf6f30222fde1f02a3168bb780eb579 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 -F src/select.c fcfa9e78068a9b7e7e8ae5e99dd9ad67b494f8af494c83d608e22bf3a24dc1a2 +F src/select.c 6544e02167adbb89a7152acf6ff2f0218a6de94146377b83e79bc8b09bf6f16e F src/shell.c.in eb7f10d5e2c47bd014d92ec5db1def21fcc1ed56ffaaa4ee715b6c37c370b47f F src/sqlite.h.in 2a35f62185eb5e7ecc64a2f68442b538ce9be74f80f28a00abc24837edcf1c17 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 @@ -1948,8 +1948,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 e62156b696f2496e2697cb3b46f136551b58644e2a5824aa3d759596694b2f4b -R bdbe7ed2c4fc36f304a762252cc7a276 +P 584bd55e20669d09b7efe3429ba847c42c32fb1eb960784c4e0dedcd96899313 +R ca8f575b2af503ca4b68b7060e8a8208 U drh -Z c9db4d2e3dbbaf57eb9975f4478e4f80 +Z 9aaf25063fb0e8b19b18a7c621baebac # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index d3f35cd80e..a2cbf273c4 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -584bd55e20669d09b7efe3429ba847c42c32fb1eb960784c4e0dedcd96899313 \ No newline at end of file +0ccb224e13ad44c7e1a3aa186821a929faabc0075fe15799476c00d9a92e9d91 \ No newline at end of file diff --git a/src/select.c b/src/select.c index b41a44cff1..6d185a1685 100644 --- a/src/select.c +++ b/src/select.c @@ -496,6 +496,7 @@ static int sqlite3ProcessJoin(Parse *pParse, Select *p){ pRight->fg.isSynthUsing = 1; pRight->u3.pUsing = pUsing; } + if( pParse->nErr ) return 1; } /* Create extra terms on the WHERE clause for each column named