Project: openexr

Language c++
OSS-Fuzz project link
Project repository link
Build status: Fuzzers succeeding: Build log
Build status: Code coverage succeeding: Build log
Build status: Fuzz Introspector succeeding: Build log
Fuzzer count 7
Lines of code 60007
Lines covered 30978
Code coverage 51.62%
Code coverage report Report link
Static reachability 29.97%
Fuzz Introspector report Report link (from 2026-06-15)
Fuzzer Code coverage (lines) Latest Report Comments
openexr_attribute_fuzzer (plot) 0.77% (avg: 0.65%, max: 0.77%) 2026-06-15
openexr_encoding_fuzzer (plot) 27.23% (avg: 26.99%, max: 27.23%) 2026-06-15
openexr_exrcheck_fuzzer (plot) 26.74% (avg: 27.41%, max: 27.5%) 2026-06-15
openexr_exrcorecheck_fuzzer (plot) 19.88% (avg: 19.95%, max: 20.0%) 2026-06-15
openexr_exrgaps_fuzzer (plot) 19.57% (avg: 17.75%, max: 19.58%) 2026-06-15 Degraded from 2026-05-17 (16.19%) to 2026-05-18 (11.02%)!
openexr_htj2k_fuzzer (plot) 26.39% (avg: 21.71%, max: 26.38%) 2026-06-15
openexr_roundtrip_fuzzer (plot) 37.72% (avg: 37.5%, max: 37.72%) 2026-06-15

Historical Progression

Per Fuzzer Progression

This section shows graphs for the coverage results per fuzz target over the past 30 days. Included are the coverage percentage, total number of lines, covered number of lines, and the number of coverage inputs.

Functions of interest to fuzz

This section outlines functions that may be of interest to fuzz. They are based on ranking functions that have a lot of complexity but currently exhibit low code coverage. The complexity is calculated based on the function itself as well as the functions called by the given function, i.e. the tree of code that the function triggers.


This is only a minor amount of introspection information available for this project. Please consult the Fuzz Introspector report for more information, e.g. the introspection table of all functions in the target project available here.

Function name Function source file Accumulated cyclomatic complexity Code coverage
Imf_4_0::checkOpenEXRFile(charconst*,bool,bool,bool) /src/openexr/src/lib/OpenEXRUtil/ImfCheckFile.cpp 7042 0.0%
boolImf_4_0::(anonymousnamespace)::runChecks<charconst*>(charconst*&,bool,bool) /src/openexr/src/lib/OpenEXRUtil/ImfCheckFile.cpp 6971 0.0%
Imf_4_0::(anonymousnamespace)::readRgba(Imf_4_0::RgbaInputFile&,bool,bool) /src/openexr/src/lib/OpenEXRUtil/ImfCheckFile.cpp 4275 0.0%
Imf_4_0::RgbaOutputFile::RgbaOutputFile(charconst*,Imf_4_0::Headerconst&,Imf_4_0::RgbaChannels,int) /src/openexr/src/lib/OpenEXR/ImfRgbaFile.cpp 3567 0.0%
Imf_4_0::RgbaOutputFile::RgbaOutputFile(charconst*,Imath_3_2::Box<Imath_3_2::Vec2<int>>const&,Imath_3_2::Box<Imath_3_2::Vec2<int>>const&,Imf_4_0::RgbaChannels,float,Imath_3_2::Vec2<float>,float,Imf_4_0::LineOrder,Imf_4_0::Compression,int) /src/openexr/src/lib/OpenEXR/ImfRgbaFile.cpp 3565 0.0%
Imf_4_0::RgbaOutputFile::RgbaOutputFile(charconst*,int,int,Imf_4_0::RgbaChannels,float,Imath_3_2::Vec2<float>,float,Imf_4_0::LineOrder,Imf_4_0::Compression,int) /src/openexr/src/lib/OpenEXR/ImfRgbaFile.cpp 3554 0.0%
Imf_4_0::RgbaOutputFile::RgbaOutputFile(Imf_4_0::OStream&,Imf_4_0::Headerconst&,Imf_4_0::RgbaChannels,int) /src/openexr/src/lib/OpenEXR/ImfRgbaFile.cpp 3528 0.0%
Imf_4_0::RgbaInputFile::FromYca::readYCAScanLine(int,Imf_4_0::Rgba*) /src/openexr/src/lib/OpenEXR/ImfRgbaFile.cpp 3493 0.0%
Imf_4_0::Compressor::uncompress(charconst*,int,int,charconst*&) /src/openexr/src/lib/OpenEXR/ImfCompressor.cpp 2997 0.0%
Imf_4_0::RgbaInputFile::RgbaInputFile(Imf_4_0::IStream&,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>const&,int) /src/openexr/src/lib/OpenEXR/ImfRgbaFile.cpp 2966 0.0%