From: drh Date: Tue, 3 Feb 2009 13:19:12 +0000 (+0000) Subject: Fix a problem in check-in (6226) which could cause an assertion fault X-Git-Tag: version-3.6.15~515 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2333606e9c62943f63b1b53e634b97f5367909ce;p=thirdparty%2Fsqlite.git Fix a problem in check-in (6226) which could cause an assertion fault following a malloc failure. The prior check-in was for ticket #3624. (CVS 6235) FossilOrigin-Name: 1ffe44e9d6b49346a75850a977953de12c127069 --- diff --git a/manifest b/manifest index c9b7484d52..fa759ef1f7 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Check-in\s(6230)\sintroduced\sa\sbugs\sin\sSUBSTR()\swhich\swas\scaught\sby\sthe\sfuzz\ntester.\s\sFixed\sby\sthis\scheck-in.\s\sRelated\sto\sticket\s#3628.\s(CVS\s6234) -D 2009-02-03T13:10:54 +C Fix\sa\sproblem\sin\scheck-in\s(6226)\swhich\scould\scause\san\sassertion\sfault\nfollowing\sa\smalloc\sfailure.\s\sThe\sprior\scheck-in\swas\sfor\sticket\s#3624.\s(CVS\s6235) +D 2009-02-03T13:19:12 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 3871d308188cefcb7c5ab20da4c7b6aad023bc52 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -113,7 +113,7 @@ F src/date.c 870770dde3fb56772ab247dfb6a6eda44d16cfbc F src/delete.c 6249005bdd8f85db6ec5f31ddb5c07de023693cc F src/expr.c 76dc3dc83b56ab8db50a772714fac49def8bbf12 F src/fault.c dc88c821842157460750d2d61a8a8b4197d047ff -F src/func.c e8f46d1a8c101dacf510727815b4797df4f7bb67 +F src/func.c ccc2bc683ed1b092beafdb374413482fcc9e62d3 F src/global.c ab003581ea4ff193cfe17a00e1303bc51db619a5 F src/hash.c 5824e6ff7ba78cd34c8d6cd724367713583e5b55 F src/hash.h 28f38ebb1006a5beedcb013bcdfe31befe7437ae @@ -695,7 +695,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P f2ae82c4d46c2eca30fc60a50ab5064728f20739 -R 6f877daa2e1aedc363217668df247f58 +P cd2e7f6c0fe4c0c648f8ca21388ab0769164f5ef +R 718fa0ce1dbfbe9a12df42e906ac913f U drh -Z a83094c726be5d79bab4fb1c65a291b4 +Z 05b85b03f1d86246b1ba23cf33a374f3 diff --git a/manifest.uuid b/manifest.uuid index 1c7697b4f4..c9052ada0f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -cd2e7f6c0fe4c0c648f8ca21388ab0769164f5ef \ No newline at end of file +1ffe44e9d6b49346a75850a977953de12c127069 \ No newline at end of file diff --git a/src/func.c b/src/func.c index d366112a88..e5542b3b08 100644 --- a/src/func.c +++ b/src/func.c @@ -16,7 +16,7 @@ ** sqliteRegisterBuildinFunctions() found at the bottom of the file. ** All other code has file scope. ** -** $Id: func.c,v 1.219 2009/02/03 13:10:54 drh Exp $ +** $Id: func.c,v 1.220 2009/02/03 13:19:12 drh Exp $ */ #include "sqliteInt.h" #include @@ -843,7 +843,8 @@ static void replaceFunc( assert( zStr==sqlite3_value_text(argv[0]) ); /* No encoding change */ zPattern = sqlite3_value_text(argv[1]); if( zPattern==0 ){ - assert( sqlite3_value_type(argv[1])==SQLITE_NULL ); + assert( sqlite3_value_type(argv[1])==SQLITE_NULL + || sqlite3_context_db_handle(context)->mallocFailed ); return; } if( zPattern[0]==0 ){