diff --git a/manifest b/manifest index 1cb1c24283..10e48ebeee 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\sthe\s"languageid"\shidden\scolumn\sto\sfts4aux. -D 2013-10-15T19:06:17.574 +C Fix\smemory\sand\sresource\sleaks\sfor\sWinCE\sand\sCygwin,\sand\sa\scompiler\swarning\non\swindows\swith\sSQLITE_THREADSAFE=0. +D 2013-10-16T11:31:51.060 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 0522b53cdc1fcfc18f3a98e0246add129136c654 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -205,7 +205,7 @@ F src/os.c b4ad71336fd96f97776f75587cd9e8218288f5be F src/os.h 4a46270a64e9193af4a0aaa3bc2c66dc07c29b3f F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04 F src/os_unix.c 243fb37f47dc072fc59839ea241ff0a17c8d76e6 -F src/os_win.c 0fea05bc7b75eccb01d8a8a10aaeaf4147b8e0cd +F src/os_win.c b159b5249d9f70607d961bbdd1dbba789c75812c F src/pager.c 2aa4444ffe86e9282d03bc349a4a5e49bd77c0e8 F src/pager.h f094af9f6ececfaa8a1e93876905a4f34233fb0c F src/parse.y a97566d6da75075589a7c716d1bda14b586cf8da @@ -1126,7 +1126,8 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P 1086e00bcaacc88ef2a9dda8a20698b0899ad2f7 -R 278f7d19feecc0e16083c2fb7945cca7 -U dan -Z 3437f433e75ea0cb69bfd1b37e4271cf +P 891df358e51075fb937f34952ce43bf51130b0d0 2470d1bb08b2661bcfde7a605208eb6044836d5c +R 3f1c2053efd88b1ae5291031b868e02e +T +closed 2470d1bb08b2661bcfde7a605208eb6044836d5c +U drh +Z 18d6dd21b38b2dda035b96ade3db584b diff --git a/manifest.uuid b/manifest.uuid index 2e66ae8df4..5247a75335 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -891df358e51075fb937f34952ce43bf51130b0d0 \ No newline at end of file +9905cea9d45c90f2241f56dc32a25501476983bc \ No newline at end of file diff --git a/src/os_win.c b/src/os_win.c index e1ed22c333..c6c567c00c 100644 --- a/src/os_win.c +++ b/src/os_win.c @@ -2196,8 +2196,7 @@ static int winClose(sqlite3_file *id){ OSTRACE(("CLOSE file=%p\n", pFile->h)); #if SQLITE_MAX_MMAP_SIZE>0 - rc = winUnmapfile(pFile); - if( rc!=SQLITE_OK ) return rc; + winUnmapfile(pFile); #endif do{ @@ -3003,7 +3002,7 @@ static int winFileControl(sqlite3_file *id, int op, void *pArg){ if( newLimit>=0 && newLimit!=pFile->mmapSizeMax && pFile->nFetchOut==0 ){ pFile->mmapSizeMax = newLimit; if( pFile->mmapSize>0 ){ - (void)winUnmapfile(pFile); + winUnmapfile(pFile); rc = winMapfile(pFile, -1); } } @@ -3220,7 +3219,7 @@ static void winShmPurge(sqlite3_vfs *pVfs, int deleteFlag){ while( (p = *pp)!=0 ){ if( p->nRef==0 ){ int i; - if( p->mutex ) sqlite3_mutex_free(p->mutex); + if( p->mutex ){ sqlite3_mutex_free(p->mutex); } for(i=0; inRegion; i++){ BOOL bRc = osUnmapViewOfFile(p->aRegion[i].pMap); OSTRACE(("SHM-PURGE-UNMAP pid=%lu, region=%d, rc=%s\n", @@ -4073,6 +4072,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){ if( winIsDriveLetterAndColon(zDir) ){ zConverted = winConvertFromUtf8Filename(zDir); if( !zConverted ){ + sqlite3_free(zBuf); OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n")); return SQLITE_IOERR_NOMEM; } @@ -4085,6 +4085,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){ }else{ zConverted = sqlite3MallocZero( nBuf+1 ); if( !zConverted ){ + sqlite3_free(zBuf); OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n")); return SQLITE_IOERR_NOMEM; } @@ -4092,6 +4093,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){ osIsNT() ? CCP_POSIX_TO_WIN_W : CCP_POSIX_TO_WIN_A, zDir, zConverted, nBuf+1)<0 ){ sqlite3_free(zConverted); + sqlite3_free(zBuf); OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_CONVPATH\n")); return winLogError(SQLITE_IOERR_CONVPATH, (DWORD)errno, "winGetTempname1", zDir); @@ -4105,6 +4107,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){ char *zUtf8 = winUnicodeToUtf8(zConverted); if( !zUtf8 ){ sqlite3_free(zConverted); + sqlite3_free(zBuf); OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n")); return SQLITE_IOERR_NOMEM; } @@ -4120,7 +4123,6 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){ } sqlite3_free(zConverted); } - break; } } #elif !SQLITE_OS_WINRT && !defined(__CYGWIN__) @@ -4490,9 +4492,9 @@ static int winOpen( #endif { sqlite3_free(zConverted); - sqlite3_free(zTmpname); } + sqlite3_free(zTmpname); pFile->pMethod = &winIoMethod; pFile->pVfs = pVfs; pFile->h = h;