SQLite

Check-in [abf2139412]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix all known instances of signed-integer overflow. Within SQL expressions, integer overflow now forces coercion to floating point. The shift operators work with any integer right-hand operand with negative values reversing the direction of the shift.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: abf21394124a0af46f072793718964cee2ce55d0
User & Date: drh 2011-03-05 20:59:46.394
Context
2011-03-05
21:41
Simplifications to the overflow-free multiplier. Also remove some commented-out code that was left in that subroutine by mistake on the previous check-in. (check-in: 55fc25fdab user: drh tags: trunk)
20:59
Fix all known instances of signed-integer overflow. Within SQL expressions, integer overflow now forces coercion to floating point. The shift operators work with any integer right-hand operand with negative values reversing the direction of the shift. (check-in: abf2139412 user: drh tags: trunk)
13:54
Fix an instance of signed arithmetic overflow and an one bit-shift overflow. Mark six other signed arithmetic overflow locations that need fixing. (check-in: 04abab71ec user: drh tags: trunk)
Changes
Unified Diff Side-by-Side Diff Patch
Changes to src/expr.c.
Changes to src/func.c.
Changes to src/printf.c.
Changes to src/sqliteInt.h.
Changes to src/util.c.
Changes to src/vdbe.c.
Changes to src/vdbemem.c.
Changes to test/expr.test.