From: dan Date: Wed, 20 Jan 2010 14:25:37 +0000 (+0000) Subject: Fix a problem with handling OOM errors in fts3. X-Git-Tag: version-3.7.2~629 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=14d4cc4356955751d9848f0364f2fef2c9196ccc;p=thirdparty%2Fsqlite.git Fix a problem with handling OOM errors in fts3. FossilOrigin-Name: f9c54e95ecf1c36c4750bb151e91d81c1d1bd596 --- diff --git a/manifest b/manifest index 4dc116a4d3..8193364431 100644 --- a/manifest +++ b/manifest @@ -1,8 +1,5 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -C Move\sthe\sApple\sOS-X\sVFS\schanges\sinto\sthe\strunk. -D 2010-01-20T13:07:21 +C Fix\sa\sproblem\swith\shandling\sOOM\serrors\sin\sfts3. +D 2010-01-20T14:25:37 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in c5827ead754ab32b9585487177c93bb00b9497b3 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -215,7 +212,7 @@ F src/vacuum.c 28ee5a4963d16cf2477075d85966c0f461cd79de F src/vdbe.c b0c18b5c5ab4745a09b8f164e5db36413d98872e F src/vdbe.h bea1f0cd530775bdb58a340265f3cf3ee920e9b2 F src/vdbeInt.h e276691b6835da5c0008cc5beaaecedcd7bdba8e -F src/vdbeapi.c 1dc9dce4b2f5fbcde70e75b08ea1e657b5aee41b +F src/vdbeapi.c c2c75b052151f5bb67917480c4f05a70cc9f9236 F src/vdbeaux.c 8f30e619a8077ee516fa1494fa603550fa951726 F src/vdbeblob.c 84f924700a7a889152aeebef77ca5f4e3875ffb4 F src/vdbemem.c 1ce5005ee4a1ee25ef677abdcaef1259261cc252 @@ -408,7 +405,7 @@ F test/fts3malloc.test d02ee86b21edd2b43044e0d6dfdcd26cb6efddcb F test/fts3near.test 2e318ee434d32babd27c167142e2b94ddbab4844 F test/fts3query.test 154fe4b015fd61af523ee083570a134f508f5be7 F test/fts3rnd.test 2f5761db9dd92f6fe09d08976ac658ef521846ed -F test/fts3snippet.test d763197e7d6bc090638abcf68a780dd0d93635ab +F test/fts3snippet.test f1f07d82d0deb686dfdd5e16c0c8fe9eebd337d4 F test/func.test af106ed834001738246d276659406823e35cde7b F test/func2.test 772d66227e4e6684b86053302e2d74a2500e1e0f F test/fuzz.test a4174c3009a3e2c2e14b31b364ebf7ddb49de2c9 @@ -788,14 +785,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P 095c74ea6260096f6a600fdc0edccf7ea24aace4 -R e4abf14fe2df55de8faa5f5d45f42420 -U drh -Z ec0cb069e0230592effd43c2896e2f61 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.6 (GNU/Linux) - -iD8DBQFLVwANoxKgR168RlERAmzcAJ9oMlWU73oI5EEQ1akOqN4co4sD0QCeKjK8 -uNDkKBTXCwwi5UODxueds0E= -=6M6W ------END PGP SIGNATURE----- +P 571594bfbe89d9949bdb8b07712e96d0a3467c6e +R 16b92d007b95d3ba89603d98fb6dcd32 +U dan +Z 55b4214ad5f217518f3632810d0b3f17 diff --git a/manifest.uuid b/manifest.uuid index a66026252d..f9c2f0e108 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -571594bfbe89d9949bdb8b07712e96d0a3467c6e \ No newline at end of file +f9c54e95ecf1c36c4750bb151e91d81c1d1bd596 \ No newline at end of file diff --git a/src/vdbeapi.c b/src/vdbeapi.c index 6f827ec6e0..6cbc954595 100644 --- a/src/vdbeapi.c +++ b/src/vdbeapi.c @@ -299,9 +299,10 @@ static int sqlite3Step(Vdbe *p){ return SQLITE_MISUSE; } - /* Assert that malloc() has not failed */ + /* Check that malloc() has not failed. If it has, return early. */ db = p->db; if( db->mallocFailed ){ + p->rc = SQLITE_NOMEM; return SQLITE_NOMEM; } diff --git a/test/fts3snippet.test b/test/fts3snippet.test index f2750fc2f8..d112c5e09c 100644 --- a/test/fts3snippet.test +++ b/test/fts3snippet.test @@ -134,6 +134,7 @@ foreach {DO_MALLOC_TEST enc} { db close file delete -force test.db sqlite3 db test.db + sqlite3_db_config_lookaside db 0 0 0 db eval "PRAGMA encoding = \"$enc\"" # Set variable $T to the test name prefix for this iteration of the loop.