]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix another memory leak in the pager. (CVS 2425)
authordrh <drh@noemail.net>
Mon, 28 Mar 2005 18:04:27 +0000 (18:04 +0000)
committerdrh <drh@noemail.net>
Mon, 28 Mar 2005 18:04:27 +0000 (18:04 +0000)
FossilOrigin-Name: 4ca11ca015d798655170593c1b76d312185d6ed2

manifest
manifest.uuid
src/pager.c

index 5ea2feaa7ead8b03920269cf42009cde1bdb5871..898739edae18ecf9f98d887ea183cd9d6f6ead44 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Increment\sversion\snumber\sand\supdate\sdocumentation\sin\spreparation\sfor\nversion\s3.2.1.\s(CVS\s2424)
-D 2005-03-28T16:56:09
+C Fix\sanother\smemory\sleak\sin\sthe\spager.\s(CVS\s2425)
+D 2005-03-28T18:04:28
 F Makefile.in 5c00d0037104de2a50ac7647a5f12769795957a3
 F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -52,7 +52,7 @@ F src/os_unix.c fba0167576f09e242afd4c4978e1d2944b1da8b5
 F src/os_unix.h 40b2fd1d02cfa45d6c3dea25316fd019cf9fcb0c
 F src/os_win.c 2bbbe6fbb010763c3fa79d5e951afca9b138c6b5
 F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
-F src/pager.c 221076cde9af787fc45eec1bfebf5f20e4faacf0
+F src/pager.c 95e24c9134a00613ca87b963a84ad62d85d5b979
 F src/pager.h 9a417a1e04737c227ebbba3bdf8597d6dd51513a
 F src/parse.y 10c0ace9efce31d5a06e03488a4284b9d97abc56
 F src/pragma.c 4b20dbc0f4b97f412dc511853d3d0c2e0d4adedc
@@ -278,7 +278,7 @@ F www/tclsqlite.tcl e73f8f8e5f20e8277619433f7970060ab01088fc
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
 F www/whentouse.tcl 528299b8316726dbcc5548e9aa0648c8b1bd055b
-P 9e856bab2bbb77004b049827b4a275aa6c48096b
-R c82db33696dd6db4dadfa436540fc8e4
+P b0409b93108096a81245170887d60d076d639c60
+R 3406a83472c1bef895744682e9f56800
 U drh
-Z 14b421528b7e0f12d5c772b72b90603c
+Z 6061a5ba3667967690a9ebc111c561e6
index abab6a345d04ffa6f2c15fff0040c2fb714dd72e..a9a03bc954d10bc9fc1e240aae54eddbd9d17dc6 100644 (file)
@@ -1 +1 @@
-b0409b93108096a81245170887d60d076d639c60
\ No newline at end of file
+4ca11ca015d798655170593c1b76d312185d6ed2
\ No newline at end of file
index f84987e33cdcf6a3e524c9a1b3d9f1197a66070f..1bacc132659b784f2377be1534d8f3cc1dbea005 100644 (file)
@@ -18,7 +18,7 @@
 ** file simultaneously, or one process from reading the database while
 ** another is writing.
 **
-** @(#) $Id: pager.c,v 1.200 2005/03/28 08:44:07 danielk1977 Exp $
+** @(#) $Id: pager.c,v 1.201 2005/03/28 18:04:28 drh Exp $
 */
 #include "sqliteInt.h"
 #include "os.h"
@@ -913,6 +913,7 @@ static int pager_unwritelock(Pager *pPager){
     pPager->dirtyCache = 0;
     pPager->nRec = 0;
   }else{
+    assert( pPager->aInJournal==0 );
     assert( pPager->dirtyCache==0 || pPager->useJournal==0 );
   }
   rc = sqlite3OsUnlock(&pPager->fd, SHARED_LOCK);
@@ -1985,6 +1986,7 @@ int sqlite3pager_close(Pager *pPager){
   if( pPager->journalOpen ){
     sqlite3OsClose(&pPager->jfd);
   }
+  sqliteFree(pPager->aInJournal);
   if( pPager->stmtOpen ){
     sqlite3OsClose(&pPager->stfd);
   }
@@ -2618,6 +2620,7 @@ static int pager_open_journal(Pager *pPager){
   assert( pPager->state>=PAGER_RESERVED );
   assert( pPager->journalOpen==0 );
   assert( pPager->useJournal );
+  assert( pPager->aInJournal==0 );
   sqlite3pager_pagecount(pPager);
   pPager->aInJournal = sqliteMalloc( pPager->dbSize/8 + 1 );
   if( pPager->aInJournal==0 ){