From: drh Date: Thu, 18 Feb 2016 01:22:53 +0000 (+0000) Subject: Memory leak associated with SQLITE_WRITE_WALFRAME_PREBUFFERED X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=264b78a7b0cda5163dd1f93c1124ca7dfc4a8d3a;p=thirdparty%2Fsqlite.git Memory leak associated with SQLITE_WRITE_WALFRAME_PREBUFFERED FossilOrigin-Name: 7bcd3ab5f0519cb9ac8f7b98827600b9eff8db85 --- diff --git a/manifest b/manifest index 7b338af9a6..2d371eb95f 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Merge\s3.11.0\schanges. -D 2016-02-15T17:40:37.807 +C Memory\sleak\sassociated\swith\sSQLITE_WRITE_WALFRAME_PREBUFFERED +D 2016-02-18T01:22:53.158 F Makefile.in 6bc82e8fca16b46e6158b5614f16b68cc42cbe5d F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 30f075dc4f27a07abb76088946b2944178d85347 @@ -428,7 +428,7 @@ F src/vdbesort.c ef3c6d1f1a7d44cf67bb2bee59ea3d1fe5bad174 F src/vdbetrace.c f75c5455d8cf389ef86a8bfdfd3177e0e3692484 F src/vtab.c bef51b4f693d82b4b0184457faa8625654534091 F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9 -F src/wal.c 459a1287ca28b92dadb5b433445b7f7a199a5d87 +F src/wal.c f55f9f4e51edb0494a30c1097f815ded8b035794 F src/wal.h 29c2a284ddd9c665199273dadc7255a227092291 F src/walker.c 0f142b5bd3ed2041fc52d773880748b212e63354 F src/where.c 984084584c10c41e46c89ac027a5cca991bc37e6 @@ -1432,7 +1432,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh ef6ebc6fd8d2dc35db3b622015c16a023d4fef4f F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P d198a6db2e49d0205420f8ed08cfffd75ee93e1e 3d862f207e3adc00f78066799ac5a8c282430a5f -R cbffd2c61409ebe477080fcdfd9cee6a +P 5cecc509d05eb3d6ebf0bb736da23725827bc8b3 +R 0122a110c30ef73b7b492287f7ea5701 U drh -Z bc51080d07885efd1d1c87762452e1d8 +Z 6df95869e0b3f6b8862b7e14cef10938 diff --git a/manifest.uuid b/manifest.uuid index 536374076f..f7c5b26bb0 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -5cecc509d05eb3d6ebf0bb736da23725827bc8b3 \ No newline at end of file +7bcd3ab5f0519cb9ac8f7b98827600b9eff8db85 \ No newline at end of file diff --git a/src/wal.c b/src/wal.c index 2387f07e53..5a8ec6454e 100644 --- a/src/wal.c +++ b/src/wal.c @@ -3114,7 +3114,12 @@ int sqlite3WalFrames( assert( iOffset==walFrameOffset(iFrame, szPage) ); nDbSize = (isCommit && p->pDirty==0) ? nTruncate : 0; rc = walWriteOneFrame(&w, p, nDbSize, iOffset); - if( rc ) return rc; + if( rc ) { +#if defined(SQLITE_WRITE_WALFRAME_PREBUFFERED) + free(w.aFrameBuf); +#endif + return rc; + } pLast = p; iOffset += szFrame; p->flags |= PGHDR_WAL_APPEND; @@ -3146,7 +3151,12 @@ int sqlite3WalFrames( w.iSyncPoint = ((iOffset+sectorSize-1)/sectorSize)*sectorSize; while( iOffset