]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Change the order of comparison for divider cell overflow in balance non-root
authordrh <drh@noemail.net>
Mon, 12 Dec 2016 00:58:40 +0000 (00:58 +0000)
committerdrh <drh@noemail.net>
Mon, 12 Dec 2016 00:58:40 +0000 (00:58 +0000)
to avoid a (harmless) reference to an uninitialized variable.

FossilOrigin-Name: f9f2e23bbd68a8994621623446868d666df52eff

manifest
manifest.uuid
src/btree.c

index ac907f84133905b245c43ebe7e6130a052009a42..063b4151eeecd5cdde9ab5aaee9cff48b80692f4 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Avoid\san\sunnecessary\smemset()\sin\sthe\ssqlite3BtreeInsert()\sroutine.
-D 2016-12-10T13:12:55.805
+C Change\sthe\sorder\sof\scomparison\sfor\sdivider\scell\soverflow\sin\sbalance\snon-root\nto\savoid\sa\s(harmless)\sreference\sto\san\suninitialized\svariable.
+D 2016-12-12T00:58:40.524
 F Makefile.in 7639c6a09da11a9c7c6f2630fc981ee588d1072d
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc b8ca53350ae545e3562403d5da2a69cec79308da
@@ -331,7 +331,7 @@ F src/auth.c 930b376a9c56998557367e6f7f8aaeac82a2a792
 F src/backup.c faf17e60b43233c214aae6a8179d24503a61e83b
 F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
 F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73
-F src/btree.c 55b5e0e106854ba79aff6b617e60e387c0315214
+F src/btree.c 5299b39ca2ae3a177aa4f10c32adecb6ae3dfb2e
 F src/btree.h 2349a588abcd7e0c04f984e15c5c777b61637583
 F src/btreeInt.h 10c4b77c2fb399580babbcc7cf652ac10dba796e
 F src/build.c 178f16698cbcb43402c343a9413fe22c99ffee21
@@ -1536,7 +1536,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 8165f88bb1d40693d67005a8d5dc499085f64b91
-R 8a2cfd12e003eb0df2bfb3a16ae22c0f
+P 35ecd4ebc55579175f7c934e4eb1edb969008428
+R 4eec70a8d01ab30e743f435be503a7d5
 U drh
-Z ffa21cab9c1b5a6f94b1af69e3c75538
+Z 5a1985fcb882d74ad54a7fce35ec702f
index d5a90d9b7cb61f33bb3ee9390a8dc0bf295bc436..614c1437a0135247380a2cde0f1431b0d78927ee 100644 (file)
@@ -1 +1 @@
-35ecd4ebc55579175f7c934e4eb1edb969008428
\ No newline at end of file
+f9f2e23bbd68a8994621623446868d666df52eff
\ No newline at end of file
index 2439edecd060c68683cfcd7f301750381dc57cd8..4598c624ddbc6b554798059289354b72fa98a8ad 100644 (file)
@@ -7083,7 +7083,7 @@ static int balance_nonroot(
     nMaxCells += 1+apOld[i]->nCell+apOld[i]->nOverflow;
     if( (i--)==0 ) break;
 
-    if( i+nxDiv==pParent->aiOvfl[0] && pParent->nOverflow ){
+    if( pParent->nOverflow && ALWAYS(i+nxDiv==pParent->aiOvfl[0]) ){
       apDiv[i] = pParent->apOvfl[0];
       pgno = get4byte(apDiv[i]);
       szNew[i] = pParent->xCellSize(pParent, apDiv[i]);