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

libexif / libexif / 39258192975
81%

Build:
DEFAULT BRANCH: master
Ran 19 Oct 2026 01:14PM UTC
Jobs 1
Files 26
Run time 1min
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

19 Oct 2026 01:12PM UTC coverage: 80.691% (+0.005%) from 80.686%
39258192975

push

github

web-flow
Share one range check and size multiply helper between the loaders (#278)

exif-data.c and the Canon, Fuji, Olympus and Pentax MakerNote loaders
each carried an identical copy of the CHECKOVERFLOW() macro. Being a
macro it evaluated its arguments more than once (one Olympus caller
passes exif_get_long() as the size) and its comparisons took whatever
mix of argument types each caller used. The four MakerNote loaders also
open-coded the same "format size times component count" overflow test
before computing the tag size.

Replace the copies with two static inline helpers in the private
exif-system.h: exif_check_overflow(), with exactly the old macro's
semantics but size_t parameters that are evaluated once, and
exif_check_mul_overflow(), which performs the same test as the old
open-coded check and only produces the product when it passes. Callers
now get one tested implementation instead of five copies.

No change in behaviour: every caller passes non-negative values of at
most 32 bits, for which the old and new expressions agree. Add unit
checks for both helpers to test-integers.

35 of 36 new or added lines in 6 files covered. (97.22%)

3410 of 4226 relevant lines covered (80.69%)

21937.32 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
87.5
libexif/exif-system.h
Jobs
ID Job ID Ran Files Coverage
1 39258192975.1 19 Oct 2026 01:14PM UTC 26
80.69
GitHub Action Run
Source Files on build 39258192975
  • Tree
  • List 26
  • Changed 5
  • Source Changed 5
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39258192975
  • 0066e5ca on github
  • Prev Build on master (#38699539020)
  • Next Build on master (#39480710960)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc