]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a bug in the SQLITE_STATUS_MALLOC_COUNT counter. Add an ALWAYS() around
authordrh <drh@noemail.net>
Mon, 26 Jul 2010 19:09:31 +0000 (19:09 +0000)
committerdrh <drh@noemail.net>
Mon, 26 Jul 2010 19:09:31 +0000 (19:09 +0000)
a condition in the SQLITE_DBSTATUS_SCHEMA_USED logic that is always true.

FossilOrigin-Name: 6df081adbfa581c477bd2c96bb3f7f44be131a8f

manifest
manifest.uuid
src/malloc.c
src/status.c

index 951c635e0a5a59896075720221d372e82b44b2c2..5047de77d5f16c2760615ebfeab5a37768a096ab 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-C Add\sthe\sSQLITE_STATUS_MALLOC_COUNT\soption\sfor\ssqlite3_status().
-D 2010-07-26T18:43:41
+C Fix\sa\sbug\sin\sthe\sSQLITE_STATUS_MALLOC_COUNT\scounter.\s\sAdd\san\sALWAYS()\saround\na\scondition\sin\sthe\sSQLITE_DBSTATUS_SCHEMA_USED\slogic\sthat\sis\salways\strue.
+D 2010-07-26T19:09:32
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in ec08dc838fd8110fe24c92e5130bcd91cbb1ff2e
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -139,7 +139,7 @@ F src/legacy.c a199d7683d60cef73089e892409113e69c23a99f
 F src/lempar.c 7f026423f4d71d989e719a743f98a1cbd4e6d99e
 F src/loadext.c 6d422ea91cf3d2d00408c5a8f2391cd458da85f8
 F src/main.c a487fe90aecaccb142e4a6b738c7e26e99145bcd
-F src/malloc.c 52c19b9ea68aaad4e0ab8d0722ec448660e7a151
+F src/malloc.c 19a468460c7df72de245f10c06bd0625777b7c83
 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
 F src/mem1.c 89d4ea8d5cdd55635cbaa48ad53132af6294cbb2
 F src/mem2.c 12c91260fd2320eda9355dea5445b137f848c05b
@@ -177,7 +177,7 @@ F src/sqlite.h.in 5bc6d2d1bc5251b887123b12b67895785ff41a5f
 F src/sqlite3ext.h 69dfb8116af51b84a029cddb3b35062354270c89
 F src/sqliteInt.h a9be6badc6cd6a3c1ae54475a98661cf351ecad5
 F src/sqliteLimit.h 196e2f83c3b444c4548fc1874f52f84fdbda40f3
-F src/status.c f61b49b65fc0c681298e9b123c5ff1fc3f3a5662
+F src/status.c 496913d4e8441195f6f2a75b1c95993a45b9b30b
 F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
 F src/tclsqlite.c ae1e4fb653c91ddad7e2534d209711a12604ccc4
 F src/test1.c ff3b4533fc4d78d1bff2ef831a5791db55096ed3
@@ -841,14 +841,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 1d7571e4be6d96aec13cd8b3b7b10b8dc44d19a5
-R 9d00d63ded465dd4ba007fd57cd90c94
+P 8f8e442b3af553753e25c304efa289b626e3a227
+R 5371a85b2515d99b31bc6a1e384719ad
 U drh
-Z 97b8e702c8fc82f2c81b86c540c762cb
+Z 87f1a64358a92f9d6ead03c3021e38e6
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFMTddhoxKgR168RlERAjMdAJ9CQU8kCdBo5Cl1oO/prGACkzVGEgCgjc6P
-yq0ZsmI2azw9P5tIzO1YjII=
-=HMXo
+iD8DBQFMTd1voxKgR168RlERAmvEAJ9Dgn0OTr0OmSVFUH3d22Y+JTDFdACeJ8b1
+r/VI49yVB7hY03oBNs8YaCk=
+=iNp6
 -----END PGP SIGNATURE-----
index 89d4071228414dd4d726acc96c130bdfd3936dd7..05b7f6ce62f000b1920b4e2dbacbee3cc17e9613 100644 (file)
@@ -1 +1 @@
-8f8e442b3af553753e25c304efa289b626e3a227
\ No newline at end of file
+6df081adbfa581c477bd2c96bb3f7f44be131a8f
\ No newline at end of file
index 42229005cbf2c526040e6f47b3d8157d7a93b093..b36b44f7f3f146d1bb2787570effc510e8df62ed 100644 (file)
@@ -376,6 +376,7 @@ void sqlite3ScratchFree(void *p){
         sqlite3_mutex_enter(mem0.mutex);
         sqlite3StatusAdd(SQLITE_STATUS_SCRATCH_OVERFLOW, -iSize);
         sqlite3StatusAdd(SQLITE_STATUS_MEMORY_USED, -iSize);
+        sqlite3StatusAdd(SQLITE_STATUS_MALLOC_COUNT, -1);
         sqlite3GlobalConfig.m.xFree(p);
         sqlite3_mutex_leave(mem0.mutex);
       }else{
index 6f141666e6169a8dfd13f639ba6e38df2eab69b5..7f05f1c68e57a562e39126831497808e57afd166 100644 (file)
@@ -150,8 +150,8 @@ int sqlite3_db_status(
       db->pnBytesFreed = &nByte;
       for(i=0; i<db->nDb; i++){
         Schema *pSchema = db->aDb[i].pSchema;
-        if( pSchema ){
-            HashElem *p;
+        if( ALWAYS(pSchema!=0) ){
+          HashElem *p;
 
           nByte += sqlite3GlobalConfig.m.xRoundup(sizeof(HashElem)) * (
               pSchema->tblHash.count