From: drh Date: Tue, 4 Mar 2014 18:06:04 +0000 (+0000) Subject: Fix a potential memory use-after-free problem following an OOM error. X-Git-Tag: version-3.8.4~25 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d1053a4314b6da60d30ef622dd39c3fd5cf685ea;p=thirdparty%2Fsqlite.git Fix a potential memory use-after-free problem following an OOM error. FossilOrigin-Name: 767ccb1fa11b3e7b895fb8c2e91f79e3b4202907 --- diff --git a/manifest b/manifest index 651dbf3147..e45868c0f7 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\san\sassert()\sso\sthat\sit\stakes\sOOM\serrors\sinto\saccount. -D 2014-03-04T16:21:18.103 +C Fix\sa\spotential\smemory\suse-after-free\sproblem\sfollowing\san\sOOM\serror. +D 2014-03-04T18:06:04.531 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -283,7 +283,7 @@ F src/vdbeInt.h 9ccca0bc7646c918d065943e44bead4bf5de213d F src/vdbeapi.c 5bc41aaea448a7fc250902c418f1795859be3820 F src/vdbeaux.c 0be881d8da9c4413038bb0722de9ecc54788de39 F src/vdbeblob.c d939997de046b8fcc607cfee4248f3d33dbcca50 -F src/vdbemem.c 10b250f09a3843ee2bcabcadf50ca21fc3ff1f87 +F src/vdbemem.c 1b1ca620f2638e800a5bef6508d1c4320a3a4f11 F src/vdbesort.c 46801acb342e5e4c07ba1777fe58880c143abb59 F src/vdbetrace.c 6f52bc0c51e144b7efdcfb2a8f771167a8816767 F src/vtab.c 21b932841e51ebd7d075e2d0ad1415dce8d2d5fd @@ -1155,7 +1155,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 2879234b7c373be422af3fe180cae9840943e29a -R 2b2904237b1b4d9d5fce461560fa87d0 +P 53f6ec792f5f62fcdbf25e0fce5545dd1c3048a4 +R b289979daf151f0fbafb28fbb7956db7 U drh -Z 60f0b04eed352e57b9c570cb2f1addac +Z f463125a8b67b6cdc900f4915889d477 diff --git a/manifest.uuid b/manifest.uuid index 9e0ced7e12..38b7f2ed5c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -53f6ec792f5f62fcdbf25e0fce5545dd1c3048a4 \ No newline at end of file +767ccb1fa11b3e7b895fb8c2e91f79e3b4202907 \ No newline at end of file diff --git a/src/vdbemem.c b/src/vdbemem.c index 378de2deb7..b81e50d2e9 100644 --- a/src/vdbemem.c +++ b/src/vdbemem.c @@ -122,6 +122,7 @@ int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPreserve){ } if( pMem->zMalloc==0 ){ VdbeMemRelease(pMem); + pMem->z = 0; pMem->flags = MEM_Null; return SQLITE_NOMEM; }