SQLite

View Ticket
Login
Ticket Hash: bb3a86e890c8e96ab59af7acb43039b861387e0c
Title: SQLITE_FCNTL_SIZE_HINT overflows an array
Status: Fixed Type: Code_Defect
Severity: Important Priority: Immediate
Subsystem: Unknown Resolution: Fixed
Last Modified: 2011-04-13 13:48:30
Version Found In: 3.7.6
Description:
Due to an inadequately-tested last-minute change prior to the 3.7.6 release, use of the SQLITE_FCNTL_SIZE_HINT file control operation on unix builds where SQLITE_ENABLE_LOCKING_STYLE is 0 (or undefined) and HAVE_POSIX_FALLOCATE is defined will cause an array index to be off by one and will probably result in a segfault.

The problem was introduced by check-in [51029d8430d2dbc] just prior to the release.

The work-around is to omit the HAVE_POSIX_FALLOCATE compile-time option from the build. Or, avoid using SQLITE_FCNTL_SIZE_HINT.