Fix a memory leak in fts3 that can occur in an OOM condition.

FossilOrigin-Name: 507027b70f71689f77dee3e849ebc66a1c4c3166
This commit is contained in:
dan 2010-12-04 18:20:18 +00:00
parent ea76f55562
commit 014153f092
3 changed files with 16 additions and 20 deletions

View File

@ -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;
}

View File

@ -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

View File

@ -1 +1 @@
841cf7a7dbf0947cb7bde864609a8d3294f78689
507027b70f71689f77dee3e849ebc66a1c4c3166