SQLite 3.54.1 发布:修复 32 位构建内存越界等问题

SQLite 官方于 2026 年 10 月 16 日发布 3.54.1 补丁版。相对同月 9 日的 3.54.0,本版重点修补用户反馈问题,其中一条是 32 位构建上可能出现的堆内存越界;官方明确说明 64 位构建不受影响。仍停留在 3.54.0 的嵌入式与桌面应用,宜按发行页哈希核对后再升级。[1]

3.54.0 本身改动面较广。命令行工具(CLI)提示符支持转义序列,并可被 SQLITE_PS1 / SQLITE_PS2 初始化;列式输出即使无行也默认显示表头;新增 .diskused(依赖 diskused() 扩展),并弱化对独立 sqlite3_analyzer 的依赖。查询规划器在「表达式索引上的 UPDATE」「OR TRUE/FALSE」「IN 右侧带 DISTINCT」以及「LIMIT 恰好为 1 的 UNION」等路径有优化。ALTER TABLE 禁止对 ROWID、_ROWID_、OID 等特殊列名增删改;日期函数新增 weekday -N 与 end of 修饰;Windows 构建要求 Vista 及以上,并改用 SRW 锁等实现。官方称相对一年前约有数个百分点的性能提升,具体因负载、编译选项与硬件而异。[1]

补丁版除上述 32 位相关修复外,还汇总了 3.54.0 发布后用户报出的其他问题,细节见官方签入时间线。发行页给出本版 SQLITE_SOURCE_ID(时间戳 2026-10-16 14:45:20)及 sqlite3.c 的 SHA3-256,便于核对源码包与发行物一致性。[1]

生产、CI 与嵌入式镜像若锁定了 3.54.0,建议评估升到 3.54.1,并回归依赖 CLI 新默认行为、特殊列名迁移脚本以及 Windows 最低系统版本假设的路径。64 位环境虽不受该越界问题影响,跟进补丁仍可收取其他缺陷修复。完整 chronologies 与签入历史见 SQLite 版本控制站点;本页仅覆盖 3.54.1 补丁要点。

说明:文中仅概述官方披露的修复范围,不展开漏洞利用或复现步骤;完整变更与哈希以 sqlite.org 发行页为准。

来源

[1] SQLite Release 3.54.1 On 2026-10-16,sqlite.org,2026年10月16日。

#SQLite #数据库 #版本更新 #3.54.1 #开源

排序方式 :

成为第一条评论!

Nobody's responded to this post yet. Add your thoughts and get the conversation going.