]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Improved fix to allow sqlite3_vtab_in_first() to reliably return SQLITE_ERROR.
authordrh <>
Thu, 26 Jan 2023 02:18:53 +0000 (02:18 +0000)
committerdrh <>
Thu, 26 Jan 2023 02:18:53 +0000 (02:18 +0000)
FossilOrigin-Name: b25eec1c13f6a8c7ba993e5a55e26798f3b67a8b9571998459671cb570cbdfb4

manifest
manifest.uuid
src/vdbeapi.c

index b94dcc1145d12905356c9265c9d033f20a724eda..6468716a53600048f12db607547e2fea4c40eb73 100644 (file)
--- 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.
index 69d15e67f5ddfa7d4f980daba865d4b423857504..331b0e11416d79c497cc11a06ead51612192b88b 100644 (file)
@@ -1 +1 @@
-68d02d3c2ab1b4afff2d3a71516ceee404fad0d2b717369ad732832c4f9b19a8
\ No newline at end of file
+b25eec1c13f6a8c7ba993e5a55e26798f3b67a8b9571998459671cb570cbdfb4
\ No newline at end of file
index 647976b5f6051143395d0f6a5043b24ca1e972c7..476b6a2adfb6f9035296dde3f1f0fe61e0563511 100644 (file)
@@ -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)) ==