]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
A better fix for the problem addressed by [4eb80b0cc61526c1]. This fix
authordrh <>
Fri, 4 Jun 2021 23:26:56 +0000 (23:26 +0000)
committerdrh <>
Fri, 4 Jun 2021 23:26:56 +0000 (23:26 +0000)
also avoids reading uninitialized variables.

FossilOrigin-Name: 1c71de43dbc68002c4a6229e7efffb019655baff67a51fe922571fe420c95835

manifest
manifest.uuid
src/alter.c

index 345719d3955e1d8ddad4d5af728df2bef288e98b..c92b6e722cde6401ce698a8c6960666d68debc49 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Make\sMSVC\sbuild\sexamples\swork\swhen\staken\sliterally,\sand\ssay\swhen\sthey\sdo.
-D 2021-06-04T21:46:29.898
+C A\sbetter\sfix\sfor\sthe\sproblem\saddressed\sby\s[4eb80b0cc61526c1].\s\sThis\sfix\nalso\savoids\sreading\suninitialized\svariables.
+D 2021-06-04T23:26:56.428
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -478,7 +478,7 @@ F spec.template 86a4a43b99ebb3e75e6b9a735d5fd293a24e90ca
 F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
 F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786
 F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
-F src/alter.c e2e0e6be8a53cc5c145d9ff4f82a2c8d6851468a366ac8b5bd7306c792e37619
+F src/alter.c 2cb4a3d15cfee6a8a631bbf35943421312addaee36ed171aafe1a88de8ada060
 F src/analyze.c 01c6c6765cb4d40b473b71d85535093730770bb186f2f473abac25f07fcdee5c
 F src/attach.c a514e81758ba7b3a3a0501faf70af6cfc509de8810235db726cfc9f25165e929
 F src/auth.c 08954fdc4cc2da5264ba5b75cfd90b67a6fc7d1710a02ccf917c38eadec77853
@@ -1918,7 +1918,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 9a2ab6092d644fc3effc4ab4aca33efb2b4dd4213b2154d518a3e87eec4d3983
-R 330a10ea9a78442fe7bd3f4c5feed3b7
-U larrybr
-Z ef5013aa32987409174f0c0a96b71b92
+P b53ca8ed8336d9e442a920e1c05a17a38dadc2fd1e0cb73e68d380ef34c87af8
+R 6bb182b746985a1fbabd260a9d2b7d10
+U drh
+Z c646eee165dcb65ccd442f03bdd6fcbf
index c74ee4ba96ad199580891c0df4f8fcdb10e63ab0..5c40fafa394059497df7f23d9d3444f38f4c882a 100644 (file)
@@ -1 +1 @@
-b53ca8ed8336d9e442a920e1c05a17a38dadc2fd1e0cb73e68d380ef34c87af8
\ No newline at end of file
+1c71de43dbc68002c4a6229e7efffb019655baff67a51fe922571fe420c95835
\ No newline at end of file
index 423b2433b88e4f52268f1e07b39d3c0290e8e0b8..744b75ea8ba29552c0628c8c61ef5cc0ecb783c2 100644 (file)
@@ -919,7 +919,7 @@ static RenameToken *renameTokenFind(
   void *pPtr
 ){
   RenameToken **pp;
-  if( pPtr==0 ){
+  if( NEVER(pPtr==0) ){
     return 0;
   }
   for(pp=&pParse->pRename; (*pp); pp=&(*pp)->pNext){
@@ -1473,9 +1473,11 @@ static void renameColumnFunc(
       assert( sParse.pNewTable->pSelect==0 );
       sCtx.pTab = sParse.pNewTable;
       if( bFKOnly==0 ){
-        renameTokenFind(
-            &sParse, &sCtx, (void*)sParse.pNewTable->aCol[iCol].zName
-        );
+        if( iCol<sParse.pNewTable->nCol ){
+          renameTokenFind(
+              &sParse, &sCtx, (void*)sParse.pNewTable->aCol[iCol].zName
+          );
+        }
         if( sCtx.iCol<0 ){
           renameTokenFind(&sParse, &sCtx, (void*)&sParse.pNewTable->iPKey);
         }