SetFileControlInt 执行了从 Go int 到 C int 的不安全转换
作者: rittneje创建于 2024年11月22日更新于 2026年9月9日
`int` 和 C `int` 的大小并不保证相同。但目前 `SetFileControlInt` 盲目地将 `int` 类型转换为 `C.int`,这可能会导致溢出或溢出。这部分是 #1298 中描述的问题的原因。(即使它们的大小相同,该操作码也仍然是错误的,因为 SQLite 在 32 位架构上也总是需要 64 位参数。)
内容来源: mattn/go-sqlite3