]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a memory leak of the temporary read buffer.
authormistachkin <mistachkin@noemail.net>
Thu, 8 May 2014 22:08:22 +0000 (22:08 +0000)
committermistachkin <mistachkin@noemail.net>
Thu, 8 May 2014 22:08:22 +0000 (22:08 +0000)
FossilOrigin-Name: 37e60d211f70d12eda6d8b63da5e5e307e9d1748

manifest
manifest.uuid
src/os_win.c

index d7650b3c6e6c4670824138b9252bda86f1113856..47ccc7a75acc5e1cbc6b483820314f9422a0395d 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Update\scomments\sand\sonly\sinclude\sthe\sthread\sroutine\swhen\srequired.
-D 2014-05-08T22:05:30.985
+C Fix\sa\smemory\sleak\sof\sthe\stemporary\sread\sbuffer.
+D 2014-05-08T22:08:22.181
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in ad0921c4b2780d01868cf69b419a4f102308d125
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -205,7 +205,7 @@ F src/os.c 1b147e4cf7cc39e618115c14a086aed44bc91ace
 F src/os.h 4a46270a64e9193af4a0aaa3bc2c66dc07c29b3f
 F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
 F src/os_unix.c ae4b5240af4619d711301d7992396e182585269f
-F src/os_win.c 59befa19fb087727c4817ad5f9db82c76bbd96c0
+F src/os_win.c c9a60c0c174b979ec59c9153f073cdd0090c4b99
 F src/pager.c ab62a24218d87dda1be641f6c5ad291bff78fd94
 F src/pager.h ffd5607f7b3e4590b415b007a4382f693334d428
 F src/parse.y 22d6a074e5f5a7258947a1dc55a9bf946b765dd0
@@ -1171,7 +1171,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
-P 38cbcedbb6e57dc3c2d452a0eb573cabc7df0c75
-R 60f2ea98a5702c8ea1c862ad01804d2b
+P a60c545f255f7da53e0ebcde8743532b54bafdb6
+R 5f08c0c074dd1c10ad2faeb58305095e
 U mistachkin
-Z 0c7549836f40b93874f4f8a3e18828f8
+Z 8753af9b4d783bb233d495311dbe8a85
index 3ab97f35c7918d189a19d4a736b51eae256908b7..697f5b68ee37bc92882d9b758c489df9e6f82d98 100644 (file)
@@ -1 +1 @@
-a60c545f255f7da53e0ebcde8743532b54bafdb6
\ No newline at end of file
+37e60d211f70d12eda6d8b63da5e5e307e9d1748
\ No newline at end of file
index 07a1b1937e0ef60f0eec8f709aa1a8d464fbce7f..81aedf8293431fc148aadd2bf7e05cdd26e73cf2 100644 (file)
@@ -3264,12 +3264,14 @@ static void *winPreCacheThread(void *pCtx){
   while( 1 ){
     if( !osReadFile(dupHandle, pBuf, dwAmt, &nRead, 0) ){
       pFile->lastErrno = osGetLastError();
+      sqlite3_free(pBuf);
       osCloseHandle(dupHandle);
       OSTRACE(("PRE-CACHE file=%p, rc=SQLITE_IOERR_READ\n", dupHandle));
       return winLogError(SQLITE_IOERR_READ, pFile->lastErrno,
                          "winPreCacheThread3", pFile->zPath);
     }
     if( nRead<dwAmt ){
+      sqlite3_free(pBuf);
       osCloseHandle(dupHandle);
       OSTRACE(("PRE-CACHE file=%p, rc=SQLITE_IOERR_SHORT_READ\n", dupHandle));
       return winLogError(SQLITE_IOERR_SHORT_READ, pFile->lastErrno,
@@ -3280,6 +3282,7 @@ static void *winPreCacheThread(void *pCtx){
       break;
     }
   }
+  sqlite3_free(pBuf);
   osCloseHandle(dupHandle);
   return SQLITE_OK;
 }