From: drh <> Date: Sat, 5 Feb 2022 12:05:43 +0000 (+0000) Subject: Fix a NULL pointer dereference that can occur after OOM. Problem X-Git-Tag: version-3.38.0~55^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fheads%2Frelaxed-alter-table;p=thirdparty%2Fsqlite.git Fix a NULL pointer dereference that can occur after OOM. Problem introduced by check-in [197cbabf1767d060]. FossilOrigin-Name: d4e6b9f0f7567b76760a667a701bca4d6158ade39f9a69d205b583c5a1c0c7f4 --- diff --git a/manifest b/manifest index e75d36cda5..c27138ac77 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Test\scase\sfor\spermissive\sALTER\sTABLE\sRENAME\swhen\swritable_schema=ON. -D 2022-02-04T20:16:00.842 +C Fix\sa\sNULL\spointer\sdereference\sthat\scan\soccur\safter\sOOM.\s\sProblem\nintroduced\sby\scheck-in\s[197cbabf1767d060]. +D 2022-02-05T12:05:43.330 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -485,7 +485,7 @@ F spec.template 86a4a43b99ebb3e75e6b9a735d5fd293a24e90ca F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786 F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a -F src/alter.c 1cf8dfe6d87b4af6e3c2113e08b483f2e92ea9303a70daf75ddc244be3aa7dd7 +F src/alter.c af5606a4d7f35a13ce577d96f222d5e6a3c0c23de5b903dd53f28f5a4f57a064 F src/analyze.c 7518b99e07c5494111fe3bd867f28f804b6c5c1ad0703ec3d116de9bab3fa516 F src/attach.c f26d400f3ffe2cdca01406bca70e5f58c5488bf165b4fc37c228136dfcf1b583 F src/auth.c f4fa91b6a90bbc8e0d0f738aa284551739c9543a367071f55574681e0f24f8cf @@ -1943,8 +1943,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 c52d0dd8f4f8fab4c3f33cbd26b4012569e76562282e85654018c836dca7b564 -R 1c6dd2835590d26c0e3077ae9f27c2cc +P 7ee44f66c896cdc7b6980811e8e4537dbd63b23060ead0104f25132d955890af +R c65f0ed686c23b08347808d1932a2ebf U drh -Z 70501401ac6ff085442e81208283c214 +Z 037e4354fb3fdd9950f1ae80dccf8a0d # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index bc6b1fdec1..bdb43d96f6 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7ee44f66c896cdc7b6980811e8e4537dbd63b23060ead0104f25132d955890af \ No newline at end of file +d4e6b9f0f7567b76760a667a701bca4d6158ade39f9a69d205b583c5a1c0c7f4 \ No newline at end of file diff --git a/src/alter.c b/src/alter.c index fa4fcb3c0d..dfffcc9b80 100644 --- a/src/alter.c +++ b/src/alter.c @@ -2014,7 +2014,7 @@ static void renameTableTest( } } - if( rc!=SQLITE_OK && !sqlite3WritableSchema(db) ){ + if( rc!=SQLITE_OK && zWhen && !sqlite3WritableSchema(db) ){ /* Output case A */ renameColumnParseError(context, zWhen, argv[2], argv[3],&sParse); }