From: dan Date: Thu, 25 Jun 2026 14:25:15 +0000 (+0000) Subject: Have sqlite3_drop_modules() take the database mutex. Bug [bugs:/info/2026-06-25T12... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=07607c69b49387d997aba997852eb2f2106c2a01;p=thirdparty%2Fsqlite.git Have sqlite3_drop_modules() take the database mutex. Bug [bugs:/info/2026-06-25T12:11:37Z | 2026-06-25T12:11:37Z ]. FossilOrigin-Name: 533e59b40c4ce6b3579cb85deb9cb1a7179aa2cf4f91d8848558087869653a76 --- diff --git a/manifest b/manifest index 209553b4bd..3226cafd98 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\stest\scase\sto\sbackup5.test\sto\sverify\sthat\sdetaching\sthe\sdestination\sdatabase\sfrom\sits\shandle\sis\shandled\scorrectly. -D 2026-06-25T10:36:51.848 +C Have\ssqlite3_drop_modules()\stake\sthe\sdatabase\smutex.\sBug\s[bugs:/info/2026-06-25T12:11:37Z\s|\s2026-06-25T12:11:37Z\s]. +D 2026-06-25T14:25:15.704 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -814,7 +814,7 @@ F src/vdbemem.c 6e7ad67507c9a8e625b46256a9c003929331d6a27b99bbe139b8f0dab636e1f2 F src/vdbesort.c b69220f4ea9ffea5fdef34d968c60305444eea909252a81933b54c296d9cca70 F src/vdbetrace.c 49e689f751505839742f4a243a1a566e57d5c9eaf0d33bbaa26e2de3febf7b41 F src/vdbevtab.c fc46b9cbd759dc013f0b3724549cc0d71379183c667df3a5988f7e2f1bd485f3 -F src/vtab.c 5437ce986db2f70e639ce8a3fe68dcdfe64b0f1abb14eaebecdabd5e0766cc68 +F src/vtab.c d7f87f68af90e535d7b4a2c01580b4ca1d1df24f8c68283d71dbba15a661800a F src/vxworks.h 9d18819c5235b49c2340a8a4d48195ec5d5afb637b152406de95a9436beeaeab F src/wal.c abfd99239725a258af4f733681b24dd7a9ee298babe389a36d29c197e2443ebf F src/wal.h ba252daaa94f889f4b2c17c027e823d9be47ce39da1d3799886bbd51f0490452 @@ -2208,8 +2208,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c -P dae75754693143603c8fc9df3f0046dec3577e17a2858e877d238dd0f46899f4 -R 3f4c40fc4167771d8f78334f5158b56a +P 50cce4758361379f1585b30c619f2c9f7f8873dbfaeaec3ff357e26c1034546c +R 41808b48b7d47b44783f317331e7538d U dan -Z d67cb2aeb59144b9231c10e55a51b4b7 +Z 8791c131d6a449cb873822403028b35a # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index f23f9458a0..967c212b0f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -50cce4758361379f1585b30c619f2c9f7f8873dbfaeaec3ff357e26c1034546c +533e59b40c4ce6b3579cb85deb9cb1a7179aa2cf4f91d8848558087869653a76 diff --git a/src/vtab.c b/src/vtab.c index ed4b0afaf4..24a91d36a4 100644 --- a/src/vtab.c +++ b/src/vtab.c @@ -142,6 +142,7 @@ int sqlite3_drop_modules(sqlite3 *db, const char** azNames){ #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) ) return SQLITE_MISUSE_BKPT; #endif + sqlite3_mutex_enter(db->mutex); for(pThis=sqliteHashFirst(&db->aModule); pThis; pThis=pNext){ Module *pMod = (Module*)sqliteHashData(pThis); pNext = sqliteHashNext(pThis); @@ -152,6 +153,7 @@ int sqlite3_drop_modules(sqlite3 *db, const char** azNames){ } createModule(db, pMod->zName, 0, 0, 0); } + sqlite3_mutex_leave(db->mutex); return SQLITE_OK; }