From: drh <> Date: Thu, 26 Jan 2023 02:18:53 +0000 (+0000) Subject: Improved fix to allow sqlite3_vtab_in_first() to reliably return SQLITE_ERROR. X-Git-Tag: version-3.41.0~91 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3c12ebd4a303dcf6650f06a6aa5a9fa9046bd9c9;p=thirdparty%2Fsqlite.git Improved fix to allow sqlite3_vtab_in_first() to reliably return SQLITE_ERROR. FossilOrigin-Name: b25eec1c13f6a8c7ba993e5a55e26798f3b67a8b9571998459671cb570cbdfb4 --- diff --git a/manifest b/manifest index b94dcc1145..6468716a53 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sharmless\scompiler\swarning\sin\sFTS3. -D 2023-01-25T21:28:30.601 +C Improved\sfix\sto\sallow\ssqlite3_vtab_in_first()\sto\sreliably\sreturn\sSQLITE_ERROR. +D 2023-01-26T02:18:53.501 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -695,7 +695,7 @@ F src/vacuum.c 84ce7f01f8a7a08748e107a441db83bcec13970190ddcb0c9ff522adbc1c23fd F src/vdbe.c 47d3b78e75e239e1909933f0d77612b4111ebe760f01fdd0085e4e30b59b4cc6 F src/vdbe.h 73b904a6b3bb27f308c6cc287a5751ebc7f1f89456be0ed068a12b92844c6e8c F src/vdbeInt.h a4147a4ddf613cb1bcb555ace9e9e74a9c099d65facd88155f191b1fb4d74cfb -F src/vdbeapi.c 784e90b69884ee2eed1bb191afe130e7f5acbed0465487907027406721111701 +F src/vdbeapi.c 40c47b1528d308a322203de21d2e0d711753257ed9771771b6129214b1d65932 F src/vdbeaux.c 3f9e3b6585e7434aa11300169dd66ddf0fc963a0c6f7940bdc058335dadeb353 F src/vdbeblob.c 5e61ce31aca17db8fb60395407457a8c1c7fb471dde405e0cd675974611dcfcd F src/vdbemem.c 316d518115f3720b4097f0231e2a3d6eefd06c787eccf44972f8d8f462153421 @@ -2044,8 +2044,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 1ab122289fe6ac4cb3b0c47d17ac22627fcdfed80c941a57e6e6cc4d9dbd9273 -R a6657d796fc73b211158b972e91d9be4 +P 68d02d3c2ab1b4afff2d3a71516ceee404fad0d2b717369ad732832c4f9b19a8 +R 556dd8f7358f4793f3225a9d53e3162d U drh -Z ef2bd86d0a0d7cd0e967616628d64863 +Z 75b59bb91df55572022211932ea6f3be # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 69d15e67f5..331b0e1141 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -68d02d3c2ab1b4afff2d3a71516ceee404fad0d2b717369ad732832c4f9b19a8 \ No newline at end of file +b25eec1c13f6a8c7ba993e5a55e26798f3b67a8b9571998459671cb570cbdfb4 \ No newline at end of file diff --git a/src/vdbeapi.c b/src/vdbeapi.c index 647976b5f6..476b6a2adf 100644 --- a/src/vdbeapi.c +++ b/src/vdbeapi.c @@ -907,7 +907,7 @@ static int valueFromValueList( *ppOut = 0; if( pVal==0 ) return SQLITE_MISUSE; - if( pVal->xDel!=sqlite3VdbeValueListFree ){ + if( (pVal->flags & MEM_Dyn)==0 || pVal->xDel!=sqlite3VdbeValueListFree ){ return SQLITE_ERROR; }else{ assert( (pVal->flags&(MEM_TypeMask|MEM_Term|MEM_Subtype)) ==