]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a bad memory leak in the in-memory database module. (CVS 1039)
authordrh <drh@noemail.net>
Sun, 29 Jun 2003 18:29:47 +0000 (18:29 +0000)
committerdrh <drh@noemail.net>
Sun, 29 Jun 2003 18:29:47 +0000 (18:29 +0000)
FossilOrigin-Name: 9cca95937837333c91f5dee8c48178cf7e06d59f

manifest
manifest.uuid
src/btree_rb.c

index b474ca4abeff7804795e4f0f8d55443ddba9259f..6e111f637876f38f37df552b200947c37adfe4d4 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Bump\sthe\sversion\snumber\sin\spreparation\sfor\sthe\snext\srelease.\s(CVS\s1038)
-D 2003-06-29T16:16:41
+C Fix\sa\sbad\smemory\sleak\sin\sthe\sin-memory\sdatabase\smodule.\s(CVS\s1039)
+D 2003-06-29T18:29:48
 F Makefile.in 9ad23ed4ca97f9670c4496432e3fbd4b3760ebde
 F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@@ -23,7 +23,7 @@ F src/attach.c 9f78b4aaac02a2b09ff108e92cbaee3199e7962a
 F src/auth.c c8f50d4507e37779d96ff3c55417bc2b612dfed6
 F src/btree.c ba1cc0c71c3d2742b9a9047832335dc7d3656c45
 F src/btree.h 9b7c09f1e64274d7bb74a57bbfc63778f67b1048
-F src/btree_rb.c a0dd64f840417b13637160599bd2740c8a340366
+F src/btree_rb.c f30f5cddc4375c05bf361116da1492d9601760ca
 F src/build.c 936d10b33b326546280690bee7f20efaf19a6fe8
 F src/copy.c 9e47975ea96751c658bcf1a0c4f0bb7c6ee61e73
 F src/delete.c 0f81e6799c089487615d38e042a2de4d2d6192bc
@@ -166,7 +166,7 @@ F www/speed.tcl 2f6b1155b99d39adb185f900456d1d592c4832b3
 F www/sqlite.tcl 3c83b08cf9f18aa2d69453ff441a36c40e431604
 F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
 F www/vdbe.tcl 9b9095d4495f37697fd1935d10e14c6015e80aa1
-P ab21de5fdd8e45be19411cdba647eada0bc9a9f1
-R 6283c1d7d53ae59cf5171d822dee880b
+P 0532e1a8f5a310bb19b55dc29aa5b1f1172a14da
+R 59392850afc02c8699556ed3526bfb9b
 U drh
-Z 00a0c99b747a1e0c1094844a2f370c5b
+Z 1045de8580d7f6762e47e878f632486d
index 904ad20c325e8dc230412308d5d6abbecc36866a..cf4079eb05f578277c262ae294a0678e1f92395d 100644 (file)
@@ -1 +1 @@
-0532e1a8f5a310bb19b55dc29aa5b1f1172a14da
\ No newline at end of file
+9cca95937837333c91f5dee8c48178cf7e06d59f
\ No newline at end of file
index f8173a49ee9a4c5d78f37e5c20f3a5b2e7b48086..24687595833af1e11ff8156c10240db843f4630e 100644 (file)
@@ -9,7 +9,7 @@
 **    May you share freely, never taking more than you give.
 **
 *************************************************************************
-** $Id: btree_rb.c,v 1.13 2003/06/10 02:46:15 drh Exp $
+** $Id: btree_rb.c,v 1.14 2003/06/29 18:29:48 drh Exp $
 **
 ** This file implements an in-core database using Red-Black balanced
 ** binary trees.
@@ -1180,21 +1180,6 @@ static char *memRbtreeIntegrityCheck(Rbtree* tree, int* aRoot, int nRoot)
   return msg;
 }
 
-/*
- * Close the supplied Rbtree. Delete everything associated with it.
- */
-static int memRbtreeClose(Rbtree* tree)
-{
-  HashElem *p;
-  while( (p=sqliteHashFirst(&tree->tblHash))!=0 ){
-    tree->eTransState = TRANS_ROLLBACK;
-    memRbtreeDropTable(tree, sqliteHashKeysize(p));
-  }
-  sqliteHashClear(&tree->tblHash);
-  sqliteFree(tree);
-  return SQLITE_OK;
-}
-
 static int memRbtreeSetCacheSize(Rbtree* tree, int sz)
 {
   return SQLITE_OK;
@@ -1238,6 +1223,22 @@ static int memRbtreeCommit(Rbtree* tree){
   return SQLITE_OK;
 }
 
+/*
+ * Close the supplied Rbtree. Delete everything associated with it.
+ */
+static int memRbtreeClose(Rbtree* tree)
+{
+  HashElem *p;
+  memRbtreeCommit(tree);
+  while( (p=sqliteHashFirst(&tree->tblHash))!=0 ){
+    tree->eTransState = TRANS_ROLLBACK;
+    memRbtreeDropTable(tree, sqliteHashKeysize(p));
+  }
+  sqliteHashClear(&tree->tblHash);
+  sqliteFree(tree);
+  return SQLITE_OK;
+}
+
 /*
  * Execute and delete the supplied rollback-list on pRbtree.
  */