From: dan Date: Wed, 24 Jun 2026 13:42:39 +0000 (+0000) Subject: Revert the fixes to backup in [1f940357f7] and [e5db80350c] and instead fix the probl... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9d60ae2b73a697b93e381668174f7784c6298bb2;p=thirdparty%2Fsqlite.git Revert the fixes to backup in [1f940357f7] and [e5db80350c] and instead fix the problem reported by forum post [forum:15d82885e2 | 15d82885e2] (that a call to sqlite3_deserialize() after sqlite3_backup_init() but before the first call to sqlite3_backup_step() on the destination db of a backup could cause a crash) by deferring caching the pointer to the destination Btree until after it is locked. This addresses bug [bugs:/info/2026-06-24T08:41:13Z | 2026-06-24T08:41:13Z]. FossilOrigin-Name: 18da5759590793c934184a6f1e28fe61a9714f305f1e9704061364325c0bbf9e --- 9d60ae2b73a697b93e381668174f7784c6298bb2 diff --cc manifest index a8c27c58c8,09cd2662eb..1de685d6c4 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Defend\sagainst\sinteger\soverflow\son\s\soversized\sstring\sinputs\sto\nsqlite3_mprintf()\sand\ssimilar\sC-language\sinterfaces\swhen\susing\nthe\s"%!.*s"\sconversion.\s\sThe\sproblem\sis\snot\sreachable\sfrom\sSQL\ndue\sto\sstring\slength\srestrictions\sin\sSQL.\sC-code\sis\srequired.\n[bugs:/info/2026-06-24T11:57:36Z|Bug\s2026-06-24T11:57:36Z]. - D 2026-06-24T12:40:26.285 -C Remove\sa\sstray\sC++\sstyle\scomment\sleft\sin\sbuild.c\sby\sthe\sprevious\scommit\son\sthis\sbranch. -D 2026-06-24T13:37:31.472 ++C Revert\sthe\sfixes\sto\sbackup\sin\s[1f940357f7]\sand\s[e5db80350c]\sand\sinstead\sfix\sthe\sproblem\sreported\sby\sforum\spost\s[forum:15d82885e2\s|\s15d82885e2]\s(that\sa\scall\sto\ssqlite3_deserialize()\safter\ssqlite3_backup_init()\sbut\sbefore\sthe\sfirst\scall\sto\ssqlite3_backup_step()\son\sthe\sdestination\sdb\sof\sa\sbackup\scould\scause\sa\scrash)\sby\sdeferring\scaching\sthe\spointer\sto\sthe\sdestination\sBtree\suntil\safter\sit\sis\slocked.\sThis\saddresses\sbug\s[bugs:/info/2026-06-24T08:41:13Z\s|\s2026-06-24T08:41:13Z]. ++D 2026-06-24T13:42:39.595 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@@ -802,8 -802,8 +802,8 @@@ F src/trigger.c 5028874dd1f4fd3085bacd5 F src/update.c 3e5e7ff66fa19ebe4d1b113d480639a24cc1175adbefabbd1a948a07f28e37cf F src/upsert.c dd9f0fcccbfb4f20e1026a21a7254ba3f2c08e9cfa92affaff5b5ec3b00ea549 F src/utf.c 7267c3fb9e2467020507601af3354c2446c61f444387e094c779dccd5ca62165 -F src/util.c c069caa2e85389deeda302b792161dc536d50c401dd447269e4934aca8f6790c +F src/util.c fcab5d997364c657e973e2bd3b9d2181aeb0926be0c028f20dfd4445894af3b4 - F src/vacuum.c 4eda73a75a15f939b45b26e189f5b25757b39d7cb6d5e972a7f754e75d019189 + F src/vacuum.c d3d35d8ae893d419ade5fa196d761a83bddcbb62137a1a157ae751ef38b26e82 F src/vdbe.c 6397694fa506aa1841dc8bb6a17c514aa602a4ad2515024fcd5880558c1ef57f F src/vdbe.h 70e862ac8a11b590f8c1eaac17a0078429d42bc4ea3f757a9af0f451dd966a71 F src/vdbeInt.h c31ba4dc8d280c2b1dc89c6fcee68f2555e3813ab34279552c20b964c0e338b1 @@@ -2208,8 -2208,8 +2208,9 @@@ F tool/warnings-clang.sh bbf6a1e685e534 F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c - P ef5e415303aeeaad65987871302380e96704316daf89ab5e96330798e4cbe1ce - R adc65683d6d6244acd09ff55a719db9c - U drh - Z e40b4ff061815f5bc5162c2cb5a88938 -P 44a0f396daa13f382fd839cd8be49148aa24114968b97fed7f365307d1f8280a -R d777b3a711fbb366f126d9ec3b82578b ++P 15a6482300bb2804fbfad1f07d6d74da6c0cb5953d44b74bc61c17d29e29821c bfce01a4b06b5f3bfb050bf15e25919a6c85b3ec0002acd016ac8c5ffa500daf ++R ae02e6a96d80119e0cbe4dbea114f6cd ++T +closed bfce01a4b06b5f3bfb050bf15e25919a6c85b3ec0002acd016ac8c5ffa500daf + U dan -Z 07132fb0ea7f4f6c60830c685b41d37c ++Z 30bf857c649d855780f8a8b1154b464c # Remove this line to create a well-formed Fossil manifest. diff --cc manifest.uuid index 5654d6cfe5,9989957a40..0338b9e84c --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 15a6482300bb2804fbfad1f07d6d74da6c0cb5953d44b74bc61c17d29e29821c -bfce01a4b06b5f3bfb050bf15e25919a6c85b3ec0002acd016ac8c5ffa500daf ++18da5759590793c934184a6f1e28fe61a9714f305f1e9704061364325c0bbf9e