diff --git a/ext/fts3/fts3.c b/ext/fts3/fts3.c index 0dce174628..8d517219a2 100644 --- a/ext/fts3/fts3.c +++ b/ext/fts3/fts3.c @@ -2683,8 +2683,13 @@ static int fts3EvalExpr( } } - *paOut = aRet; - *pnOut = nRet; + if( rc==SQLITE_OK ){ + *paOut = aRet; + *pnOut = nRet; + }else{ + assert( *paOut==0 ); + sqlite3_free(aRet); + } sqlite3_free(aExpr); fts3ExprFreeSegReaders(pExpr); @@ -2757,6 +2762,7 @@ static int fts3EvalExpr( } } + assert( rc==SQLITE_OK || *paOut==0 ); return rc; } diff --git a/manifest b/manifest index a59c15c8a9..38bb2faaff 100644 --- a/manifest +++ b/manifest @@ -1,8 +1,5 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -C Remove\san\sover-zealous\scall\sto\smemAboutToChange()\sfrom\sOP_MustBeInt.\nOP_MustBeInt\swill\snever\sinvalidate\sthe\sMem.z\spointer\sso\sthe\smemAboutToChange()\ncall\sis\snot\snecessary. -D 2010-12-03T18:57:18 +C Fix\sa\smemory\sleak\sin\sfts3\sthat\scan\soccur\sin\san\sOOM\scondition. +D 2010-12-04T18:20:19 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 4547616ad2286053af6ccccefa242dc925e49bf0 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -64,7 +61,7 @@ F ext/fts2/mkfts2amal.tcl 974d5d438cb3f7c4a652639262f82418c1e4cff0 F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a F ext/fts3/README.tokenizers 998756696647400de63d5ba60e9655036cb966e9 F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d -F ext/fts3/fts3.c bb233da09f1ec8e52717167cd42b7c7cbd98a58c +F ext/fts3/fts3.c 44f998657ec849362484bb389c5728e821fc8c59 F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe F ext/fts3/fts3Int.h a6c69c1c5e2c8c19172ddff42d262c087dcd7337 F ext/fts3/fts3_expr.c 5f49e0deaf723724b08100bb3ff40aab02ad0c93 @@ -896,14 +893,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P 2e800cb87ded1a080469ea46878ac61f945f789e -R 0305b455a681c9cda96b07aa02494a33 -U drh -Z 8033f986d410d173570ae1d2cc4587d6 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.6 (GNU/Linux) - -iD8DBQFM+T2RoxKgR168RlERAk/OAJ9PTxhYXVCTAiWa/S8boSTCXET++ACghJyR -1zkq1FytFinYYQb/2XlEFz0= -=u7bI ------END PGP SIGNATURE----- +P 841cf7a7dbf0947cb7bde864609a8d3294f78689 +R 269151d064cbf251d3b04ce94d96a176 +U dan +Z 3867b6d56253dfd7617916a246ca3877 diff --git a/manifest.uuid b/manifest.uuid index 13f71cee41..b959dcbc48 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -841cf7a7dbf0947cb7bde864609a8d3294f78689 \ No newline at end of file +507027b70f71689f77dee3e849ebc66a1c4c3166 \ No newline at end of file