• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

SRombauts / SQLiteCpp
100%
master: 100%

Build:
Build:
LAST BUILD BRANCH: 181-feature-statement-iterator
DEFAULT BRANCH: master
Repo Added 20 Jun 2016 02:42PM UTC
Files 14
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH fix-getheaderinfo-shift-ub
branch: fix-getheaderinfo-shift-ub
CHANGE BRANCH
x
Reset
  • fix-getheaderinfo-shift-ub
  • 181-feature-statement-iterator
  • 2.0.0
  • 2.1.0
  • 2.2.0
  • 2.3.0
  • 2.4.0
  • 2.5.0
  • 3.0.0
  • 3.1.0
  • 3.1.1
  • add-bind-no-copy-pull-request-86
  • add-cmake-project-version-to-fix-warning
  • add-implicit-cast-char-short
  • asan-tests
  • code-review
  • coverity_scan
  • create-function-unit-test
  • database-backup
  • feature-ci-coverage
  • feature-coverity-github-actions
  • feature-improve-test-coverage
  • fix-column-stream-utf8
  • fix-coveralls
  • fix-executemany-clearbindings
  • fix-isunencrypted-raw-read
  • fix-lp64-ambiguous-bind
  • fix-meson-disable-std-filesystem-flag
  • fix-null-pointer-ub-guards
  • fix-nullptr
  • fix-savepoint-destructor-exception-safety
  • fix-vs2013-column-test
  • fix-warning-extern-variable-has-an-initializer
  • gcc-7
  • gcc-9-fix-bind
  • gcov-inline-functions
  • libsqlite3
  • master
  • move-constructor
  • sqlite-3.34
  • sqlitecpp-2.x
  • sqlitecpp-3.x
  • statement-unit-tests
  • subdir_example
  • test-building-with-mingw-on-appveyor
  • test-travis-ci-configuration
  • travis-valgrind
  • try_execute
  • update-sqlite3.19.3
  • vs2019

30 Jun 2026 04:53PM UTC coverage: 99.688% (-0.02%) from 99.711%
28461402948

Pull #558

github

SRombauts
Fix getHeaderInfo() signed-shift UB and use fixed-width Header types

The big-endian assembly shifted unsigned char operands that promote to int,
so bytes with the high bit set produced signed left-shift UB and sign-extended
when widened to the Header fields. Cast each byte to uint32_t before shifting,
via a local readBE32 helper that also removes the repetitive byte arithmetic.

Header used platform-variable `unsigned long` (32-bit on LLP64 Windows, 64-bit
on LP64), giving a cross-platform field-width mismatch. Switch the struct to
fixed-width <cstdint> types (uint8_t / uint32_t).

Fixes DB-02 and DB-03 from the code review.
Pull Request #558: Fix Database::getHeaderInfo() signed-shift UB and use fixed-width Header types

21 of 21 new or added lines in 1 file covered. (100.0%)

639 of 641 relevant lines covered (99.69%)

34.22 hits per line

Relevant lines Covered
Build:
Build:
641 RELEVANT LINES 639 COVERED LINES
34.22 HITS PER LINE
Source Files on fix-getheaderinfo-shift-ub
  • Tree
  • List 14
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
28461402948 fix-getheaderinfo-shift-ub Fix getHeaderInfo() signed-shift UB and use fixed-width Header types The big-endian assembly shifted unsigned char operands that promote to int, so bytes with the high bit set produced signed left-shift UB and sign-extended when widened to the He... Pull #558 30 Jun 2026 04:54PM UTC SRombauts github
99.69
See All Builds (636)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc