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

open-source-parsers / jsoncpp / 27653199524
90%
master: 90%

Build:
Build:
LAST BUILD BRANCH: refs/pull/1695/merge
DEFAULT BRANCH: master
Ran 16 Jun 2026 10:48PM UTC
Jobs 1
Files 8
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

16 Jun 2026 10:47PM UTC coverage: 89.949% (-0.01%) from 89.959%
27653199524

Pull #1695

github

baylesj
fix: accept subnormal doubles when parsing (#1427)

decodeDouble parsed numbers via `istringstream >> double`. For a
subnormal value such as `3.2114e-312`, operator>> sets failbit (the
result underflowed) even though it produced the correctly-rounded value.
The failure path only special-cased overflow, so subnormals were
rejected as "not a number" -- meaning a value jsoncpp had just serialized
could fail to parse back.

In the failure path, accept the value when it is a subnormal
(std::fpclassify(value) == FP_SUBNORMAL). This keys off the value
operator>> produces, which is the correctly-rounded subnormal on
libstdc++, libc++, and MSVC, so it needs no errno/eof heuristics. It
deliberately does not accept results that round to zero, so malformed
numbers like "0e" / "0e+" (jsonchecker fail29/fail30) and other junk are
still rejected. Applied to both Reader and OurReader.

Adds CharReaderTest/parseSubnormal covering subnormals, a writer
round-trip, and continued rejection of malformed numbers.
Pull Request #1695: fix: accept subnormal and underflowing doubles when parsing (#1427)

2201 of 2614 branches covered (84.2%)

Branch coverage included in aggregate %.

1 of 2 new or added lines in 1 file covered. (50.0%)

16 existing lines in 1 file now uncovered.

2605 of 2729 relevant lines covered (95.46%)

23444.84 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
90.03
0.0% src/lib_json/json_reader.cpp

Coverage Regressions

Lines Coverage ∆ File
16
87.35
-0.02% src/lib_json/json_value.cpp
Jobs
ID Job ID Ran Files Coverage
1 27653199524.1 16 Jun 2026 10:48PM UTC 8
89.95
GitHub Action Run
Source Files on build 27653199524
  • Tree
  • List 8
  • Changed 3
  • Source Changed 2
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Pull Request #1695
  • PR Base - master (#27649973372)
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