From: drh <> Date: Mon, 20 Nov 2023 12:00:29 +0000 (+0000) Subject: Cherry pick additional assert() fixes from trunk into the branch-3.44 branch. X-Git-Tag: version-3.44.1~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=02726b172adab370ca142261a3c56e8fefdf871a;p=thirdparty%2Fsqlite.git Cherry pick additional assert() fixes from trunk into the branch-3.44 branch. FossilOrigin-Name: 6d8a8b700237d738e7b16dd844cf2514f0df7e2275bd9eab8de0a780e3687298 --- diff --git a/ext/fts5/fts5_index.c b/ext/fts5/fts5_index.c index 7026c793f8..ba3ce6536a 100644 --- a/ext/fts5/fts5_index.c +++ b/ext/fts5/fts5_index.c @@ -4404,7 +4404,7 @@ static void fts5WriteAppendPoslistData( const u8 *a = aData; int n = nData; - assert( p->pConfig->pgsz>0 ); + assert( p->pConfig->pgsz>0 || p->rc!=SQLITE_OK ); while( p->rc==SQLITE_OK && (pPage->buf.n + pPage->pgidx.n + n)>=p->pConfig->pgsz ){ diff --git a/manifest b/manifest index b579a24958..c660198daf 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\san\sassert()\sin\sfts5\sthat\scould\sbe\strue\sfollowing\san\sOOM\sor\sIO\serror\sin\scontentless-delete\smode. -D 2023-11-20T11:50:22.648 +C Cherry\spick\sadditional\sassert()\sfixes\sfrom\strunk\sinto\sthe\sbranch-3.44\sbranch. +D 2023-11-20T12:00:29.989 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -96,7 +96,7 @@ F ext/fts5/fts5_buffer.c 3001fbabb585d6de52947b44b455235072b741038391f830d6b7292 F ext/fts5/fts5_config.c 054359543566cbff1ba65a188330660a5457299513ac71c53b3a07d934c7b081 F ext/fts5/fts5_expr.c bd3b81ce669c4104e34ffe66570af1999a317b142c15fccb112de9fb0caa57a6 F ext/fts5/fts5_hash.c 076058f93327051952a752dc765df1acfe783eb11b419b30652aa1fc1f987902 -F ext/fts5/fts5_index.c b3a89f8b0a044c7e0d0048cc1acaee45c026327c51d38974d250c3c49e7398fa +F ext/fts5/fts5_index.c 809407c520c6afc3c1a0b8080cbd9080e4d84442f52a31654cc0e3d3acccea17 F ext/fts5/fts5_main.c a07ed863b8bd9e6fefb62db2fd40a3518eb30a5f7dcfda5be915dd2db45efa2f F ext/fts5/fts5_storage.c 5d10b9bdcce5b90656cad13c7d12ad4148677d4b9e3fca0481fca56d6601426d F ext/fts5/fts5_tcl.c b1445cbe69908c411df8084a10b2485500ac70a9c747cdc8cda175a3da59d8ae @@ -723,7 +723,7 @@ F src/printf.c 9da63b9ae1c14789bcae12840f5d800fd9302500cd2d62733fac77f0041b4750 F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c 31229276a8eb5b5de1428cd2d80f6f1cf8ffc5248be25e47cf575df12f1b8f23 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97 -F src/select.c 503331aca8785254a7bf3d74ab338a99118fa297e1184a4dde33b3cdf7a9d341 +F src/select.c b3e8bb88f7a9572200fdb89cb1ef31605f45b7b2eb876d12d5102c068de905f0 F src/shell.c.in 03158cff6ac95c72c5bd43969ad9aae7b4e0e220ed1492e06ef6b0ce2887dbd4 F src/sqlite.h.in 4f841d3d117b830ee5ee45e8d89ceff1195f3ebb72d041ace8d116ba4c103b35 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 @@ -822,7 +822,7 @@ F test/aggnested.test 2e738bfe2980df301a782f6e7bbf9459266f64f7e72f58f3b5c843bf89 F test/aggorderby.test e6b98dbbf3ababa96892435d387de2dcf602ef02c2b848d2d817473066f154ba F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87 F test/all.test 2ecb8bbd52416642e41c9081182a8df05d42c75637afd4488aace78cc4b69e13 -F test/alter.test 403a7f8842457044a994d0ffb42963d6e84fcfbf5e8f54556063b25d966cd454 +F test/alter.test 5d3c2a662c54362193b08961f6a65178c434905ec0fda8e0a86ebd99ea04d3cc F test/alter2.test a966ccfcddf9ce0a4e0e6ff1aca9e6e7948e0e242cd7e43fc091948521807687 F test/alter3.test ffc4ab29ce78a3517a66afd69b2730667e3471622509c283b2bd4c46f680fba3 F test/alter4.test 716caa071dd8a3c6d57225778d15d3c3cbf5e34b2e84ae44199aeb2bbf50a707 @@ -2141,9 +2141,10 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P aaa73400c41f382bbbd4ea32ad196d271c7a5e800bfee9afd998037a14fc89b9 -Q +3fe89238c31ca163d021ef1fecde594328815aaba7053fef9e9c789562a62f45 -R 7eab46c2629895186b94c5840eb7f8b3 +P 80a0bd7a692b7f08d0fddc5bc2a75e3c8146c54a08c19a70d0e1b6d0e1ac383e +Q +257cdbab90c6db8ccc9a8fd5df556b69c3a35a329d39cd4642c792d7359a54a5 +Q +a9443dbfbe25e588b4adddde664ddf482f19f71c704fbf356d49cf3a6135e7fb +R 1ff8d2282ae66ffa938e6fae2d4e45ef U drh -Z 49328a82987c43a40ab76377345d6b65 +Z b030c56847f0ca3229e7e588e7997717 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 6cd342d394..81d66be031 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -80a0bd7a692b7f08d0fddc5bc2a75e3c8146c54a08c19a70d0e1b6d0e1ac383e \ No newline at end of file +6d8a8b700237d738e7b16dd844cf2514f0df7e2275bd9eab8de0a780e3687298 \ No newline at end of file diff --git a/src/select.c b/src/select.c index 2b28d9ca5e..f6a9526776 100644 --- a/src/select.c +++ b/src/select.c @@ -6372,10 +6372,11 @@ static void selectAddSubqueryTypeInfo(Walker *pWalker, Select *p){ SrcList *pTabList; SrcItem *pFrom; - assert( p->selFlags & SF_Resolved ); if( p->selFlags & SF_HasTypeInfo ) return; p->selFlags |= SF_HasTypeInfo; pParse = pWalker->pParse; + testcase( (p->selFlags & SF_Resolved)==0 ); + assert( (p->selFlags & SF_Resolved) || IN_RENAME_OBJECT ); pTabList = p->pSrc; for(i=0, pFrom=pTabList->a; inSrc; i++, pFrom++){ Table *pTab = pFrom->pTab; diff --git a/test/alter.test b/test/alter.test index ee8e6c0b90..da562ce316 100644 --- a/test/alter.test +++ b/test/alter.test @@ -954,4 +954,21 @@ do_catchsql_test alter-20.3 { INSERT INTO t1(a) VALUES(45); } {1 {cannot store BLOB value in TEXT column t1.b}} +# 2023-11-17 dbsqlfuzz e0900262dadd5c78c2226ad6a435c7f0255be2cd +# Assertion fault associated with ALTER TABLE and an +# aggregate ORDER BY within an unknown aggregate function. +# +reset_db +do_execsql_test alter-21.1 { + CREATE TABLE t1(a,b,c,d); + CREATE TABLE t2(a,b,c,d,x); + CREATE TRIGGER r1 AFTER INSERT ON t2 BEGIN + SELECT unknown_function(a ORDER BY (SELECT group_concat(DISTINCT a ORDER BY a) FROM t1)) FROM t1; + END; + ALTER TABLE t2 RENAME TO e; +} {} +do_execsql_test alter-21.2 { + SELECT name, type FROM sqlite_schema ORDER BY name; +} {e table r1 trigger t1 table} + finish_test