The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.
For further technical details on the meaning of columns in the below table, please see the Glossary .
Func name | Functions filename | Args | Function call depth | Reached by Fuzzers | Fuzzers runtime hit | Func lines hit % | I Count | BB Count | Cyclomatic complexity | Functions reached | Reached by functions | Accumulated cyclomatic complexity | Undiscovered complexity |
---|
The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. We use the following coloring scheme where min/max is an interval [min:max) (max non-inclusive) to color the callsite based on how many times the callsite is covered at run time.
Min | Max | Color |
---|---|---|
0 | 1 | red |
1 | 10 | gold |
10 | 30 | yellow |
30 | 50 | greenyellow |
50 | 1000000000000 | lawngreen |
For further technical details on the call tree overview, please see the Glossary .
The distribution of callsites in terms of coloring is
Color | Callsite count | Percentage |
---|---|---|
red | 1614 | 48.6% |
gold | 92 | 2.77% |
yellow | 21 | 0.63% |
greenyellow | 46 | 1.38% |
lawngreen | 1544 | 46.5% |
All colors | 3317 | 100 |
The following link provides a visualisation of the full call tree overlaid with coverage information: full call tree
For further technical details on how the call tree is generated, please see the Glossary .
The followings nodes represent call sites where fuzz blockers occur.
Amount of callsites blocked | Calltree index | Parent function | Callsite | Largest blocked function |
---|---|---|---|---|
526 | 1 | LLVMFuzzerTestOneInput | call site | exr_start_read |
278 | 1362 |
Iex_3_2::BaseExc::BaseExc(std::__1::basic_string
|
call site | __cxa_allocate_exception |
231 | 2859 |
bool Imf_3_2::(anonymous namespace)::runChecks
|
call site | __cxa_allocate_exception |
63 | 632 | Imath_3_2::half::operator float() const | call site | |
36 | 3164 |
bool Imf_3_2::(anonymous namespace)::runChecks
|
call site | __cxa_begin_catch |
28 | 3091 | Imf_3_2::MultiPartInputFile::getPart(int) | call site | __cxa_begin_catch |
23 | 1701 | Imf_3_2::DeepScanLineInputPart::header() const | call site | __cxa_allocate_exception |
13 | 1799 | Imf_3_2::TiledInputFile::Data::~Data() | call site | __cxa_rethrow |
10 | 1221 | Imf_3_2::InputFile::multiPartInitialize(Imf_3_2::InputPartData*) | call site | |
10 | 1841 |
Imf_3_2::offsetInLineBufferTable(std::__1::vector
|
call site | __cxa_allocate_exception |
10 | 2319 | Imf_3_2::(anonymous namespace)::newLineBufferTask(IlmThread_3_2::TaskGroup*, Imf_3_2::DeepScanLineInputFile::Data*, int, int, int) | call site | __cxa_begin_catch |
9 | 1352 | IlmThread_3_2::Semaphore::Semaphore(unsigned int) | call site | __errno_location |
[EXPERIMENTAL] The followings are the branches where fuzzer fails to bypass.
Blocked Complexity | Reachable Complexity | Function Name | Blocked Branch |
---|---|---|---|
15611 | 23539 |
boolImf_3_2::(anonymousnamespace)::runChecks
|
/src/openexr/src/lib/OpenEXRUtil/ImfCheckFile.cpp:1117 |
4117 | 4524 | Imf_3_2::InputFile::initialize() | /src/openexr/src/lib/OpenEXR/ImfInputFile.cpp:575 |
3737 | 7770 |
boolImf_3_2::(anonymousnamespace)::runChecks
|
/src/openexr/src/lib/OpenEXRUtil/ImfCheckFile.cpp:1165 |
2171 | 2171 | Imf_3_2::checkOpenEXRFile(charconst*,unsignedlong,bool,bool,bool) | /src/openexr/src/lib/OpenEXRUtil/ImfCheckFile.cpp:1653 |
64 | 872 |
Imf_3_2::DwaCompressor::uncompress(charconst*,int,Imath_3_2::Box
|
/src/openexr/src/lib/OpenEXR/ImfDwaCompressor.cpp:2452 |
33 | 851 | Imf_3_2::ScanLineInputFile::initialize(Imf_3_2::Headerconst&) | /src/openexr/src/lib/OpenEXR/ImfScanLineInputFile.cpp:1167 |
29 | 31 | Imf_3_2::RleCompressor::RleCompressor(Imf_3_2::Headerconst&,unsignedlong) | /src/openexr/src/lib/OpenEXR/ImfRleCompressor.cpp:26 |
29 | 29 |
unsignedlongImf_3_2::uiAdd
|
/src/openexr/src/lib/OpenEXR/ImfCheckedArithmetic.h:82 |
29 | 29 |
unsignedlongImf_3_2::checkArraySize
|
/src/openexr/src/lib/OpenEXR/ImfCheckedArithmetic.h:130 |
29 | 29 |
unsignedlongImf_3_2::checkArraySize
|
/src/openexr/src/lib/OpenEXR/ImfCheckedArithmetic.h:130 |
28 | 668 |
Imf_3_2::DwaCompressor::uncompress(charconst*,int,Imath_3_2::Box
|
/src/openexr/src/lib/OpenEXR/ImfDwaCompressor.cpp:2523 |
24 | 191 | Imf_3_2::(anonymousnamespace)::readTileData(Imf_3_2::InputStreamMutex*,Imf_3_2::DeepTiledInputFile::Data*,int,int,int,int,char*&,unsignedlong&,unsignedlong&) | /src/openexr/src/lib/OpenEXR/ImfDeepTiledInputFile.cpp:384 |
Function name | source code lines | source lines hit | percentage hit |
---|
filename | functions hit |
---|---|
/src/openexr/src/test/OpenEXRFuzzTest/oss-fuzz/openexr_exrcheck_fuzzer.cc | 1 |
/src/openexr/src/lib/OpenEXRUtil/ImfCheckFile.cpp | 23 |
/src/openexr/src/lib/OpenEXRCore/context.c | 6 |
/src/openexr/src/lib/OpenEXRCore/internal_structs.h | 2 |
/src/openexr/src/lib/OpenEXRCore/base.c | 6 |
/src/openexr/src/lib/OpenEXRCore/internal_structs.c | 11 |
/src/openexr/src/lib/OpenEXRCore/memory.c | 2 |
/src/openexr/src/lib/OpenEXRCore/string.c | 6 |
/src/openexr/src/lib/OpenEXRCore/internal_posix_file_impl.h | 5 |
/usr/include/x86_64-linux-gnu/sys/stat.h | 1 |
/src/openexr/src/lib/OpenEXRCore/parse_header.c | 43 |
/src/openexr/src/lib/OpenEXRCore/validation.c | 7 |
/src/openexr/src/lib/OpenEXRCore/attributes.c | 12 |
/src/openexr/src/lib/OpenEXRCore/channel_list.c | 2 |
/src/openexr/src/lib/OpenEXRCore/float_vector.c | 2 |
/src/openexr/src/lib/OpenEXRCore/preview.c | 2 |
/src/openexr/src/lib/OpenEXRCore/string_vector.c | 1 |
/src/openexr/src/lib/OpenEXRCore/opaque.c | 2 |
/src/openexr/src/lib/OpenEXRCore/internal_xdr.h | 9 |
/src/openexr/src/lib/OpenEXRCore/part.c | 6 |
/src/openexr/src/lib/OpenEXRCore/part_attr.c | 2 |
/src/openexr/src/lib/OpenEXRCore/chunk.c | 11 |
/src/openexr/src/lib/OpenEXRCore/internal_util.h | 1 |
/src/openexr/src/lib/OpenEXRCore/decoding.c | 11 |
/src/openexr/src/lib/OpenEXRCore/coding.c | 4 |
/src/openexr/src/lib/OpenEXRCore/internal_rle.c | 3 |
/src/openexr/src/lib/OpenEXRCore/internal_zip.c | 4 |
/src/openexr/src/lib/OpenEXRCore/internal_piz.c | 6 |
/src/openexr/src/lib/OpenEXRCore/internal_huf.c | 17 |
/usr/include/x86_64-linux-gnu/bits/byteswap.h | 1 |
/src/openexr/src/lib/OpenEXRCore/internal_pxr24.c | 2 |
/src/openexr/src/lib/OpenEXRCore/internal_b44.c | 7 |
/src/openexr/src/lib/OpenEXRCore/internal_dwa.c | 2 |
/src/openexr/src/lib/OpenEXRCore/unpack.c | 3 |
/usr/local/lib/clang/14.0.0/include/cpuid.h | 2 |
/src/openexr/src/lib/OpenEXRCore/internal_coding.h | 1 |
/work/_deps/imath-src/src/Imath/half.h | 7 |
/src/openexr/src/lib/OpenEXR/ImfIO.cpp | 3 |
/src/openexr/src/lib/OpenEXR/ImfCompositeDeepScanLine.cpp | 11 |
/src/openexr/src/lib/OpenEXR/ImfHeader.cpp | 52 |
/src/openexr/src/lib/OpenEXR/ImfThreading.cpp | 1 |
/src/openexr/src/lib/IlmThread/IlmThreadPool.cpp | 15 |
/src/openexr/src/lib/IlmThread/IlmThreadSemaphorePosix.cpp | 4 |
/src/openexr/src/lib/OpenEXR/ImfMultiPartInputFile.cpp | 16 |
/src/openexr/src/lib/OpenEXR/ImfGenericInputFile.cpp | 3 |
/src/openexr/src/lib/OpenEXR/ImfInputStreamMutex.h | 1 |
/src/openexr/src/lib/OpenEXR/ImfXdr.h | 12 |
/src/openexr/src/lib/OpenEXR/ImfIO.h | 1 |
/src/openexr/src/lib/Iex/IexBaseExc.cpp | 115 |
/usr/local/bin/../include/c++/v1/exception | 1 |
/src/openexr/src/lib/OpenEXR/ImfVersion.h | 5 |
/work/_deps/imath-src/src/Imath/ImathVec.h | 19 |
/src/openexr/src/lib/OpenEXR/ImfAttribute.h | 58 |
/src/openexr/src/lib/OpenEXR/ImfAttribute.cpp | 7 |
/work/_deps/imath-src/src/Imath/ImathBox.h | 10 |
/src/openexr/src/lib/OpenEXR/ImfDwaCompressor.cpp | 2 |
/src/openexr/src/lib/OpenEXR/ImfDwaCompressorSimd.h | 12 |
/src/openexr/src/lib/OpenEXR/ImfSystemSpecific.cpp | 3 |
/src/openexr/src/lib/OpenEXR/ImfName.h | 3 |
/usr/local/bin/../include/c++/v1/math.h | 2 |
/src/openexr/src/lib/OpenEXR/ImfChannelList.h | 11 |
/src/openexr/src/lib/OpenEXR/ImfOpaqueAttribute.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfArray.h | 27 |
/src/openexr/src/lib/OpenEXR/ImfHeader.h | 14 |
/src/openexr/src/lib/OpenEXR/ImfPartType.cpp | 3 |
/src/openexr/src/lib/OpenEXR/ImfTiledMisc.cpp | 11 |
/src/openexr/src/lib/OpenEXR/ImfCompressor.cpp | 7 |
/src/openexr/src/lib/OpenEXR/ImfChannelList.cpp | 7 |
/src/openexr/src/lib/OpenEXR/ImfTimeCodeAttribute.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfTimeCode.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfChromaticitiesAttribute.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfChromaticities.cpp | 3 |
/src/openexr/src/lib/OpenEXR/ImfMisc.cpp | 11 |
/src/openexr/src/lib/OpenEXR/ImfTileOffsets.cpp | 9 |
/src/openexr/src/lib/OpenEXR/ImfTileOffsets.h | 2 |
/src/openexr/src/lib/OpenEXR/ImfInputPartData.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfInputPartData.h | 1 |
/src/openexr/src/lib/OpenEXR/ImfStandardAttributes.cpp | 8 |
/src/openexr/src/lib/OpenEXR/ImfInputPart.cpp | 7 |
/src/openexr/src/lib/OpenEXR/ImfInputFile.cpp | 16 |
/src/openexr/src/lib/OpenEXR/ImfFrameBuffer.h | 14 |
/src/openexr/src/lib/OpenEXR/ImfDeepScanLineInputFile.cpp | 29 |
/src/openexr/src/lib/OpenEXR/ImfDeepFrameBuffer.h | 9 |
/src/openexr/src/lib/OpenEXR/ImfFrameBuffer.cpp | 10 |
/src/openexr/src/lib/OpenEXR/ImfRleCompressor.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfCheckedArithmetic.h | 4 |
/src/openexr/src/lib/OpenEXR/ImfZipCompressor.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfZip.cpp | 3 |
/src/openexr/src/lib/OpenEXR/ImfPizCompressor.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfCompressor.h | 1 |
/src/openexr/src/lib/OpenEXR/ImfPxr24Compressor.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfB44Compressor.cpp | 1 |
/src/openexr/src/lib/Iex/IexThrowErrnoExc.cpp | 2 |
/src/openexr/src/lib/OpenEXR/ImfDeepScanLineInputPart.cpp | 6 |
/src/openexr/src/lib/OpenEXR/ImfTiledInputFile.cpp | 37 |
/src/openexr/src/lib/OpenEXR/ImfTileDescription.h | 1 |
/src/openexr/src/lib/OpenEXR/ImfScanLineInputFile.cpp | 22 |
/src/openexr/src/lib/OpenEXR/ImfOptimizedPixelReading.h | 1 |
/work/_deps/imath-src/src/Imath/ImathFun.h | 2 |
/src/openexr/src/lib/OpenEXR/ImfSystemSpecific.h | 2 |
/src/openexr/src/lib/OpenEXR/ImfDeepFrameBuffer.cpp | 6 |
/src/openexr/src/lib/OpenEXR/ImfMisc.h | 2 |
/src/openexr/src/lib/OpenEXR/ImfTiledInputPart.cpp | 8 |
/src/openexr/src/lib/OpenEXR/ImfDeepTiledInputPart.cpp | 9 |
/src/openexr/src/lib/OpenEXR/ImfDeepTiledInputFile.cpp | 31 |
/src/openexr/src/lib/OpenEXR/ImfRgbaFile.cpp | 25 |
/src/openexr/src/lib/OpenEXR/ImfChromaticities.h | 1 |
/src/openexr/src/lib/OpenEXR/ImfRgbaYca.cpp | 7 |
/usr/local/bin/../include/c++/v1/stdlib.h | 1 |
/usr/local/bin/../include/c++/v1/stdexcept | 1 |
/work/_deps/imath-src/src/Imath/ImathMatrix.h | 2 |
/src/openexr/src/lib/OpenEXR/ImfRgba.h | 1 |
The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. We use the following coloring scheme where min/max is an interval [min:max) (max non-inclusive) to color the callsite based on how many times the callsite is covered at run time.
Min | Max | Color |
---|---|---|
0 | 1 | red |
1 | 10 | gold |
10 | 30 | yellow |
30 | 50 | greenyellow |
50 | 1000000000000 | lawngreen |
For further technical details on the call tree overview, please see the Glossary .
The distribution of callsites in terms of coloring is
Color | Callsite count | Percentage |
---|---|---|
red | 2888 | 87.0% |
gold | 15 | 0.45% |
yellow | 4 | 0.12% |
greenyellow | 3 | 0.09% |
lawngreen | 407 | 12.2% |
All colors | 3317 | 100 |
The following link provides a visualisation of the full call tree overlaid with coverage information: full call tree
For further technical details on how the call tree is generated, please see the Glossary .
The followings nodes represent call sites where fuzz blockers occur.
Amount of callsites blocked | Calltree index | Parent function | Callsite | Largest blocked function |
---|---|---|---|---|
2789 | 527 | Imf_3_2::(anonymous namespace)::runCoreChecks(char const*, unsigned long, bool, bool) | call site | _Z8isnormalIfENSt3__19enable_ifIXsr3std17is_floating_pointIT_EE5valueEbE4typeES2_ |
13 | 462 | choose_half_to_float_impl | call site | half_to_float |
12 | 51 | exr_attr_string_create | call site | default_init_read_file |
8 | 6 | Imf_3_2::(anonymous namespace)::core_error_handler_cb(_priv_exr_context_t const*, int, char const*) | call site | exr_get_file_name |
7 | 17 | fill_context_data | call site | default_error_handler |
6 | 76 | priv_init_scratch | call site | internal_exr_context_restore_handlers |
5 | 435 | undo_pxr24_impl | call site | unaligned_store32 |
4 | 307 | exr_finish | call site | unlink |
4 | 356 | internal_decode_alloc_buffer | call site | internal_decode_alloc_buffer |
3 | 65 | exr_start_read | call site | silent_standard_error |
3 | 484 | update_pack_unpack_ptrs | call site | unpack_sample_table |
2 | 373 | undo_zip_impl | call site | interleave |
[EXPERIMENTAL] The followings are the branches where fuzzer fails to bypass.
Function name | source code lines | source lines hit | percentage hit |
---|
filename | functions hit |
---|---|
/src/openexr/src/test/OpenEXRFuzzTest/oss-fuzz/openexr_exrcorecheck_fuzzer.cc | 1 |
/src/openexr/src/lib/OpenEXRUtil/ImfCheckFile.cpp | 23 |
/src/openexr/src/lib/OpenEXRCore/context.c | 6 |
/src/openexr/src/lib/OpenEXRCore/internal_structs.h | 2 |
/src/openexr/src/lib/OpenEXRCore/base.c | 6 |
/src/openexr/src/lib/OpenEXRCore/internal_structs.c | 11 |
/src/openexr/src/lib/OpenEXRCore/memory.c | 2 |
/src/openexr/src/lib/OpenEXRCore/string.c | 6 |
/src/openexr/src/lib/OpenEXRCore/internal_posix_file_impl.h | 5 |
/usr/include/x86_64-linux-gnu/sys/stat.h | 1 |
/src/openexr/src/lib/OpenEXRCore/parse_header.c | 43 |
/src/openexr/src/lib/OpenEXRCore/validation.c | 7 |
/src/openexr/src/lib/OpenEXRCore/attributes.c | 12 |
/src/openexr/src/lib/OpenEXRCore/channel_list.c | 2 |
/src/openexr/src/lib/OpenEXRCore/float_vector.c | 2 |
/src/openexr/src/lib/OpenEXRCore/preview.c | 2 |
/src/openexr/src/lib/OpenEXRCore/string_vector.c | 1 |
/src/openexr/src/lib/OpenEXRCore/opaque.c | 2 |
/src/openexr/src/lib/OpenEXRCore/internal_xdr.h | 9 |
/src/openexr/src/lib/OpenEXRCore/part.c | 6 |
/src/openexr/src/lib/OpenEXRCore/part_attr.c | 2 |
/src/openexr/src/lib/OpenEXRCore/chunk.c | 11 |
/src/openexr/src/lib/OpenEXRCore/internal_util.h | 1 |
/src/openexr/src/lib/OpenEXRCore/decoding.c | 11 |
/src/openexr/src/lib/OpenEXRCore/coding.c | 4 |
/src/openexr/src/lib/OpenEXRCore/internal_rle.c | 3 |
/src/openexr/src/lib/OpenEXRCore/internal_zip.c | 4 |
/src/openexr/src/lib/OpenEXRCore/internal_piz.c | 6 |
/src/openexr/src/lib/OpenEXRCore/internal_huf.c | 17 |
/usr/include/x86_64-linux-gnu/bits/byteswap.h | 1 |
/src/openexr/src/lib/OpenEXRCore/internal_pxr24.c | 2 |
/src/openexr/src/lib/OpenEXRCore/internal_b44.c | 7 |
/src/openexr/src/lib/OpenEXRCore/internal_dwa.c | 2 |
/src/openexr/src/lib/OpenEXRCore/unpack.c | 3 |
/usr/local/lib/clang/14.0.0/include/cpuid.h | 2 |
/src/openexr/src/lib/OpenEXRCore/internal_coding.h | 1 |
/work/_deps/imath-src/src/Imath/half.h | 7 |
/src/openexr/src/lib/OpenEXR/ImfIO.cpp | 3 |
/src/openexr/src/lib/OpenEXR/ImfCompositeDeepScanLine.cpp | 11 |
/src/openexr/src/lib/OpenEXR/ImfHeader.cpp | 52 |
/src/openexr/src/lib/OpenEXR/ImfThreading.cpp | 1 |
/src/openexr/src/lib/IlmThread/IlmThreadPool.cpp | 15 |
/src/openexr/src/lib/IlmThread/IlmThreadSemaphorePosix.cpp | 4 |
/src/openexr/src/lib/OpenEXR/ImfMultiPartInputFile.cpp | 16 |
/src/openexr/src/lib/OpenEXR/ImfGenericInputFile.cpp | 3 |
/src/openexr/src/lib/OpenEXR/ImfInputStreamMutex.h | 1 |
/src/openexr/src/lib/OpenEXR/ImfXdr.h | 12 |
/src/openexr/src/lib/OpenEXR/ImfIO.h | 1 |
/src/openexr/src/lib/Iex/IexBaseExc.cpp | 115 |
/usr/local/bin/../include/c++/v1/exception | 1 |
/src/openexr/src/lib/OpenEXR/ImfVersion.h | 5 |
/work/_deps/imath-src/src/Imath/ImathVec.h | 19 |
/src/openexr/src/lib/OpenEXR/ImfAttribute.h | 58 |
/src/openexr/src/lib/OpenEXR/ImfAttribute.cpp | 7 |
/work/_deps/imath-src/src/Imath/ImathBox.h | 10 |
/src/openexr/src/lib/OpenEXR/ImfDwaCompressor.cpp | 2 |
/src/openexr/src/lib/OpenEXR/ImfDwaCompressorSimd.h | 12 |
/src/openexr/src/lib/OpenEXR/ImfSystemSpecific.cpp | 3 |
/src/openexr/src/lib/OpenEXR/ImfName.h | 3 |
/usr/local/bin/../include/c++/v1/math.h | 2 |
/src/openexr/src/lib/OpenEXR/ImfChannelList.h | 11 |
/src/openexr/src/lib/OpenEXR/ImfOpaqueAttribute.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfArray.h | 27 |
/src/openexr/src/lib/OpenEXR/ImfHeader.h | 14 |
/src/openexr/src/lib/OpenEXR/ImfPartType.cpp | 3 |
/src/openexr/src/lib/OpenEXR/ImfTiledMisc.cpp | 11 |
/src/openexr/src/lib/OpenEXR/ImfCompressor.cpp | 7 |
/src/openexr/src/lib/OpenEXR/ImfChannelList.cpp | 7 |
/src/openexr/src/lib/OpenEXR/ImfTimeCodeAttribute.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfTimeCode.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfChromaticitiesAttribute.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfChromaticities.cpp | 3 |
/src/openexr/src/lib/OpenEXR/ImfMisc.cpp | 11 |
/src/openexr/src/lib/OpenEXR/ImfTileOffsets.cpp | 9 |
/src/openexr/src/lib/OpenEXR/ImfTileOffsets.h | 2 |
/src/openexr/src/lib/OpenEXR/ImfInputPartData.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfInputPartData.h | 1 |
/src/openexr/src/lib/OpenEXR/ImfStandardAttributes.cpp | 8 |
/src/openexr/src/lib/OpenEXR/ImfInputPart.cpp | 7 |
/src/openexr/src/lib/OpenEXR/ImfInputFile.cpp | 16 |
/src/openexr/src/lib/OpenEXR/ImfFrameBuffer.h | 14 |
/src/openexr/src/lib/OpenEXR/ImfDeepScanLineInputFile.cpp | 29 |
/src/openexr/src/lib/OpenEXR/ImfDeepFrameBuffer.h | 9 |
/src/openexr/src/lib/OpenEXR/ImfFrameBuffer.cpp | 10 |
/src/openexr/src/lib/OpenEXR/ImfRleCompressor.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfCheckedArithmetic.h | 4 |
/src/openexr/src/lib/OpenEXR/ImfZipCompressor.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfZip.cpp | 3 |
/src/openexr/src/lib/OpenEXR/ImfPizCompressor.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfCompressor.h | 1 |
/src/openexr/src/lib/OpenEXR/ImfPxr24Compressor.cpp | 1 |
/src/openexr/src/lib/OpenEXR/ImfB44Compressor.cpp | 1 |
/src/openexr/src/lib/Iex/IexThrowErrnoExc.cpp | 2 |
/src/openexr/src/lib/OpenEXR/ImfDeepScanLineInputPart.cpp | 6 |
/src/openexr/src/lib/OpenEXR/ImfTiledInputFile.cpp | 37 |
/src/openexr/src/lib/OpenEXR/ImfTileDescription.h | 1 |
/src/openexr/src/lib/OpenEXR/ImfScanLineInputFile.cpp | 22 |
/src/openexr/src/lib/OpenEXR/ImfOptimizedPixelReading.h | 1 |
/work/_deps/imath-src/src/Imath/ImathFun.h | 2 |
/src/openexr/src/lib/OpenEXR/ImfSystemSpecific.h | 2 |
/src/openexr/src/lib/OpenEXR/ImfDeepFrameBuffer.cpp | 6 |
/src/openexr/src/lib/OpenEXR/ImfMisc.h | 2 |
/src/openexr/src/lib/OpenEXR/ImfTiledInputPart.cpp | 8 |
/src/openexr/src/lib/OpenEXR/ImfDeepTiledInputPart.cpp | 9 |
/src/openexr/src/lib/OpenEXR/ImfDeepTiledInputFile.cpp | 31 |
/src/openexr/src/lib/OpenEXR/ImfRgbaFile.cpp | 25 |
/src/openexr/src/lib/OpenEXR/ImfChromaticities.h | 1 |
/src/openexr/src/lib/OpenEXR/ImfRgbaYca.cpp | 7 |
/usr/local/bin/../include/c++/v1/stdlib.h | 1 |
/usr/local/bin/../include/c++/v1/stdexcept | 1 |
/work/_deps/imath-src/src/Imath/ImathMatrix.h | 2 |
/src/openexr/src/lib/OpenEXR/ImfRgba.h | 1 |
The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.
Func name | Functions filename | Arg count | Args | Function depth | hitcount | instr count | bb count | cyclomatic complexity | Reachable functions | Incoming references | total cyclomatic complexity | Unreached complexity |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Imf_3_2::DwaCompressor::uncompressTile(charconst*,int,Imath_3_2::Box
|
/src/openexr/src/lib/OpenEXR/ImfDwaCompressor.cpp | 5 | ['class.Imf_3_2::DwaCompressor.577 *', 'char *', 'int ', 'class.Imath_3_2::Box *', 'char **'] | 7 | 0 | 19 | 3 | 2 | 112 | 0 | 861 | 763 |
Imf_3_2::checkOpenEXRFile(charconst*,bool,bool,bool)
|
/src/openexr/src/lib/OpenEXRUtil/ImfCheckFile.cpp | 4 | ['char *', 'N/A', 'N/A', 'N/A'] | 14 | 0 | 30 | 6 | 3 | 1007 | 0 | 8745 | 450 |
Imf_3_2::DwaCompressor::compressTile(charconst*,int,Imath_3_2::Box
|
/src/openexr/src/lib/OpenEXR/ImfDwaCompressor.cpp | 5 | ['class.Imf_3_2::DwaCompressor.577 *', 'char *', 'int ', 'class.Imath_3_2::Box *', 'char **'] | 7 | 0 | 19 | 3 | 2 | 97 | 0 | 710 | 423 |
Imf_3_2::CompressedIDManifest::CompressedIDManifest(Imf_3_2::IDManifestconst&)
|
/src/openexr/src/lib/OpenEXR/ImfIDManifest.cpp | 2 | ['class.Imf_3_2::CompressedIDManifest *', 'class.Imf_3_2::IDManifest *'] | 5 | 0 | 87 | 15 | 11 | 28 | 0 | 337 | 300 |
Imf_3_2::IDManifest::IDManifest(Imf_3_2::CompressedIDManifestconst&)
|
/src/openexr/src/lib/OpenEXR/ImfIDManifest.cpp | 2 | ['class.Imf_3_2::IDManifest *', 'class.Imf_3_2::CompressedIDManifest *'] | 5 | 0 | 105 | 19 | 14 | 20 | 0 | 299 | 260 |
Imf_3_2::RgbaOutputFile::RgbaOutputFile(charconst*,Imath_3_2::Box
|
/src/openexr/src/lib/OpenEXR/ImfRgbaFile.cpp | 11 | ['class.Imf_3_2::RgbaOutputFile *', 'char *', 'class.Imath_3_2::Box *', 'class.Imath_3_2::Box *', 'int ', 'N/A', 'class.Imath_3_2::Vec2.318 *', 'N/A', 'int ', 'int ', 'int '] | 9 | 0 | 96 | 18 | 16 | 380 | 0 | 1812 | 245 |
Imf_3_2::DeepScanLineInputPart::readPixels(charconst*,Imf_3_2::DeepFrameBufferconst&,int,int)const
|
/src/openexr/src/lib/OpenEXR/ImfDeepScanLineInputPart.cpp | 5 | ['class.Imf_3_2::DeepScanLineInputPart *', 'char *', 'class.Imf_3_2::DeepFrameBuffer *', 'int ', 'int '] | 7 | 0 | 19 | 3 | 2 | 100 | 0 | 584 | 225 |
Implementing fuzzers that target the above functions will improve reachability such that it becomes:
If you implement fuzzers for these functions, the status of all functions in the project will be:
Func name | Functions filename | Args | Function call depth | Reached by Fuzzers | Fuzzers runtime hit | Func lines hit % | I Count | BB Count | Cyclomatic complexity | Functions reached | Reached by functions | Accumulated cyclomatic complexity | Undiscovered complexity |
---|
This section shows analysis of runtime coverage data.
For futher technical details on how this section is generated, please see the Glossary .
Func name | Function total lines | Lines covered at runtime | percentage covered | Reached by fuzzers |
---|---|---|---|---|
IlmThread_3_2::ThreadPool::Data::setProvider(IlmThread_3_2::ThreadPoolProvider*) | 44 | 10 | 22.72% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::B44Compressor::B44Compressor(Imf_3_2::Headerconst&,unsignedlong,unsignedlong,bool) | 62 | 34 | 54.83% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::CompositeDeepScanLine::setFrameBuffer(Imf_3_2::FrameBufferconst&) | 53 | 28 | 52.83% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::DeepCompositing::composite_pixel(float*,floatconst**,charconst**,int,int,int) | 33 | 17 | 51.51% | [] |
Imf_3_2::DeepScanLineInputFile::setFrameBuffer(Imf_3_2::DeepFrameBufferconst&) | 136 | 65 | 47.79% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::DeepScanLineInputFile::readPixels(int,int) | 118 | 55 | 46.61% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::(anonymousnamespace)::newLineBufferTask(IlmThread_3_2::TaskGroup*,Imf_3_2::DeepScanLineInputFile::Data*,int,int,int) | 92 | 39 | 42.39% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::(anonymousnamespace)::readPixelData(Imf_3_2::InputStreamMutex*,Imf_3_2::DeepScanLineInputFile::Data*,int,char*&,unsignedlong&,unsignedlong&) | 136 | 62 | 45.58% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::DeepTiledInputFile::Data::validateStreamSize() | 31 | 15 | 48.38% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::DeepTiledInputFile::setFrameBuffer(Imf_3_2::DeepFrameBufferconst&) | 152 | 62 | 40.78% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::DeepTiledInputFile::readTiles(int,int,int,int,int,int) | 113 | 61 | 53.98% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::(anonymousnamespace)::readTileData(Imf_3_2::InputStreamMutex*,Imf_3_2::DeepTiledInputFile::Data*,int,int,int,int,char*&,unsignedlong&,unsignedlong&) | 121 | 34 | 28.09% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::(anonymousnamespace)::TileBufferTask::execute() | 141 | 73 | 51.77% | [] |
Imf_3_2::DwaCompressor::LossyDctDecoderBase::execute() | 484 | 249 | 51.44% | [] |
Imf_3_2::DwaCompressor::LossyDctDecoderBase::unRleAc(unsignedshort*&,unsignedshort*,unsignedshort*) | 60 | 29 | 48.33% | [] |
Imf_3_2::DwaCompressor::initializeBuffers(unsignedlong&) | 227 | 109 | 48.01% | [] |
voidImf_3_2::(anonymousnamespace)::dctInverse8x8_avx<0>(float*) | 152 | 30 | 19.73% | [] |
voidImf_3_2::(anonymousnamespace)::dctInverse8x8_avx<1>(float*) | 152 | 36 | 23.68% | [] |
voidImf_3_2::(anonymousnamespace)::dctInverse8x8_avx<2>(float*) | 152 | 37 | 24.34% | [] |
voidImf_3_2::(anonymousnamespace)::dctInverse8x8_avx<3>(float*) | 152 | 38 | 25.0% | [] |
voidImf_3_2::(anonymousnamespace)::dctInverse8x8_avx<4>(float*) | 152 | 39 | 25.65% | [] |
voidImf_3_2::(anonymousnamespace)::dctInverse8x8_avx<5>(float*) | 152 | 40 | 26.31% | [] |
voidImf_3_2::(anonymousnamespace)::dctInverse8x8_avx<6>(float*) | 152 | 41 | 26.97% | [] |
voidImf_3_2::(anonymousnamespace)::dctInverse8x8_avx<7>(float*) | 152 | 68 | 44.73% | [] |
Imf_3_2::FastHufDecoder::enabled() | 36 | 5 | 13.88% | [] |
Imf_3_2::FastHufDecoder::buildTables(unsignedlong*,unsignedlong*) | 90 | 48 | 53.33% | [] |
Imf_3_2::FastHufDecoder::refill(unsignedlong&,int,unsignedlong&,int&,unsignedcharconst*&,int&) | 66 | 35 | 53.03% | [] |
Imf_3_2::GenericInputFile::readMagicNumberAndVersionField(Imf_3_2::IStream&,int&) | 39 | 10 | 25.64% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::(anonymousnamespace)::hufCanonicalCodeTable(unsignedlong*) | 44 | 19 | 43.18% | [] |
Imf_3_2::(anonymousnamespace)::hufBuildDecTable(unsignedlongconst*,int,int,Imf_3_2::(anonymousnamespace)::HufDec*) | 85 | 46 | 54.11% | [] |
Imf_3_2::TypedAttribute
|
31 | 15 | 48.38% | [] |
Imf_3_2::InputFile::initialize() | 98 | 38 | 38.77% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::(anonymousnamespace)::bufferedReadPixels(Imf_3_2::InputFile::Data*,int,int) | 203 | 73 | 35.96% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::copyIntoDeepFrameBuffer(charconst*&,char*,charconst*,long,long,int,int,int,int,int,int,int,long,long,long,bool,double,Imf_3_2::Compressor::Format,Imf_3_2::PixelType,Imf_3_2::PixelType) | 777 | 99 | 12.74% | [] |
Imf_3_2::Pxr24Compressor::uncompress(charconst*,int,Imath_3_2::Box
|
128 | 16 | 12.5% | [] |
Imf_3_2::ScanLineInputFile::initialize(Imf_3_2::Headerconst&) | 79 | 37 | 46.83% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::ScanLineInputFile::ScanLineInputFile(Imf_3_2::InputPartData*) | 41 | 16 | 39.02% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::ScanLineInputFile::setFrameBuffer(Imf_3_2::FrameBufferconst&) | 187 | 98 | 52.40% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::ScanLineInputFile::readPixels(int,int) | 116 | 57 | 49.13% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::(anonymousnamespace)::detectOptimizationMode(std::__1::vector
|
54 | 7 | 12.96% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::(anonymousnamespace)::readPixelData(Imf_3_2::InputStreamMutex*,Imf_3_2::ScanLineInputFile::Data*,int,char*&,int&) | 96 | 49 | 51.04% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::CpuId::CpuId() | 52 | 25 | 48.07% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::TileOffsets::readFrom(Imf_3_2::IStream&,bool&,bool,bool) | 36 | 17 | 47.22% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::TiledInputFile::setFrameBuffer(Imf_3_2::FrameBufferconst&) | 123 | 50 | 40.65% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::(anonymousnamespace)::readTileData(Imf_3_2::InputStreamMutex*,Imf_3_2::TiledInputFile::Data*,int,int,int,int,char*&,int&) | 110 | 59 | 53.63% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
Imf_3_2::Zip::uncompress(charconst*,int,char*) | 39 | 11 | 28.20% | [] |
boolImf_3_2::(anonymousnamespace)::runChecks
|
178 | 82 | 46.06% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
imath_float_to_half(float) | 69 | 34 | 49.27% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
imath_half_to_float(unsignedshort) | 73 | 3 | 4.109% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
exr_attr_list_add | 94 | 45 | 47.87% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
exr_attr_list_add_static_name | 87 | 35 | 40.22% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
validate_attr_arguments | 68 | 29 | 42.64% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
exr_read_chunk | 60 | 26 | 43.33% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
internal_decode_alloc_buffer | 41 | 19 | 46.34% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
exr_start_read | 59 | 30 | 50.84% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
exr_decoding_run | 63 | 28 | 44.44% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
default_read_chunk | 65 | 26 | 40.0% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
default_decompress_chunk | 55 | 26 | 47.27% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
update_pack_unpack_ptrs | 63 | 26 | 41.26% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
exr_attr_float_vector_init | 36 | 17 | 47.22% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
hufCanonicalCodeTable | 44 | 19 | 43.18% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
fasthuf_decode_enabled | 36 | 5 | 13.88% | |
FastHufDecoder_refill | 63 | 32 | 50.79% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
undo_pxr24_impl | 127 | 14 | 11.02% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
internal_exr_alloc_context | 138 | 73 | 52.89% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
undo_zip_impl | 31 | 16 | 51.61% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
exr_attr_opaquedata_init | 31 | 15 | 48.38% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
extract_attr_float_vector | 31 | 16 | 51.61% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
exr_attr_string_create_with_length | 34 | 17 | 50.0% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
exr_attr_string_set_with_length | 41 | 8 | 19.51% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
internal_exr_match_decode | 97 | 40 | 41.23% | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
unpack_16bit | 57 | 24 | 42.10% | [] |
unpack_32bit | 59 | 25 | 42.37% | [] |
This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link
Source file | Reached by | Covered by |
---|---|---|
[] | [] | |
/src/openexr/src/lib/OpenEXR/ImfRgbaYca.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXRCore/internal_piz.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfRgbaFile.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXR/ImfDeepImageStateAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfDwaCompressorSimd.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfDeepTiledInputPart.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfCompressor.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfKeyCodeAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfWav.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfPreviewImage.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfOutputStreamMutex.h | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfChromaticitiesAttribute.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfScanLineInputFile.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfIO.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfPreviewImageAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfTiledInputPart.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfMultiPartInputFile.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfInputPartData.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfRationalAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfFastHuf.cpp | [] | [] |
/src/openexr/src/lib/OpenEXRCore/internal_structs.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXR/ImfTileDescription.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/float_vector.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfTiledInputFile.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfCompressor.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfIDManifest.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfDeepFrameBuffer.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/part_attr.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfVersion.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfCompositeDeepScanLine.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfIDManifestAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfConvert.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfRleCompressor.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfChannelList.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfTileDescriptionAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfDeepTiledInputFile.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfRle.cpp | [] | [] |
/src/openexr/src/test/OpenEXRFuzzTest/oss-fuzz/openexr_exrcheck_fuzzer.cc | ['openexr_exrcheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/write_header.c | [] | [] |
/src/openexr/src/lib/OpenEXRCore/internal_coding.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXR/ImfThreading.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/work/_deps/imath-src/src/Imath/ImathMatrix.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfArray.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfPxr24Compressor.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/internal_dwa.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfDwaCompressor.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/internal_huf.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfGenericInputFile.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/internal_xdr.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfStdIO.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfFrameBuffer.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfCheckedArithmetic.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/usr/include/x86_64-linux-gnu/bits/byteswap.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXR/ImfIntAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfTileOffsets.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/test/OpenEXRFuzzTest/oss-fuzz/openexr_exrcorecheck_fuzzer.cc | ['openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/IlmThread/IlmThreadSemaphorePosix.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfChromaticities.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXR/ImfDoubleAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfMisc.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfSystemSpecific.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfInputFile.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/Iex/IexBaseExc.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/internal_posix_file_impl.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXR/ImfFrameBuffer.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/usr/local/bin/../include/c++/v1/exception | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXR/ImfDeepFrameBuffer.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/work/_deps/imath-src/src/Imath/ImathFun.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/preview.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/parse_header.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/internal_pxr24.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/usr/local/bin/../include/c++/v1/stdlib.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXRCore/coding.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfZip.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfChromaticities.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfDeepCompositing.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfXdr.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfRational.h | [] | [] |
/src/openexr/src/lib/OpenEXRCore/unpack.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/IlmThread/IlmThreadPool.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfAttribute.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/internal_util.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/decoding.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfB44Compressor.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/attributes.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfChannelListAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXRCore/opaque.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/usr/include/ctype.h | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfRgba.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXR/ImfIO.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfTiledMisc.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfCompressionAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfZipCompressor.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/internal_zip.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/validation.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/usr/local/bin/../include/c++/v1/istream | [] | [] |
/src/openexr/src/lib/OpenEXRCore/internal_b44.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfPizCompressor.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/internal_structs.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/chunk.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfFloatAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfFloatVectorAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfDeepScanLineInputFile.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/part.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/usr/local/bin/../include/c++/v1/iosfwd | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfSystemSpecific.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/work/_deps/imath-src/src/Imath/ImathBox.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/usr/include/x86_64-linux-gnu/sys/stat.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXR/ImfChannelList.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfMatrixAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfBoxAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfHeader.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfDeepScanLineInputPart.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/IlmThread/IlmThread.cpp | [] | [] |
/src/openexr/src/lib/OpenEXRCore/string.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfGenericOutputFile.cpp | [] | [] |
/src/openexr/src/lib/OpenEXRCore/internal_rle.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfKeyCode.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfStringAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXRCore/memory.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfOpaqueAttribute.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfOptimizedPixelReading.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfInputPart.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfHuf.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfInputStreamMutex.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/work/_deps/imath-src/src/Imath/ImathVec.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/usr/local/lib/clang/14.0.0/include/cpuid.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXRCore/string_vector.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/context.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfTimeCodeAttribute.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfIDManifest.h | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfLineOrderAttribute.cpp | [] | [] |
/usr/local/bin/../include/c++/v1/math.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXR/ImfAttribute.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfName.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfAutoArray.h | [] | [] |
/work/_deps/imath-src/src/Imath/half.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfVecAttribute.cpp | [] | [] |
/work/_deps/imath-src/src/Imath/half.cpp | [] | [] |
/usr/local/bin/../include/c++/v1/stdexcept | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXRCore/channel_list.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfPreviewImage.h | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfOutputFile.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfStandardAttributes.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRUtil/ImfCheckFile.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfTileOffsets.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXR/ImfHeader.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfMisc.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfPartType.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXR/ImfStringVectorAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfEnvmapAttribute.cpp | [] | [] |
/src/openexr/src/lib/OpenEXR/ImfInputPartData.h | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/Iex/IexThrowErrnoExc.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | [] |
/src/openexr/src/lib/OpenEXR/ImfTimeCode.cpp | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcheck_fuzzer'] |
/src/openexr/src/lib/OpenEXRCore/base.c | ['openexr_exrcheck_fuzzer', 'openexr_exrcorecheck_fuzzer'] | ['openexr_exrcorecheck_fuzzer'] |
Directory |
---|
/usr/include/x86_64-linux-gnu/bits/ |
/src/openexr/src/lib/Iex/ |
/usr/include/ |
/usr/local/lib/clang/14.0.0/include/ |
/src/openexr/src/lib/IlmThread/ |
/usr/include/x86_64-linux-gnu/sys/ |
/src/openexr/src/lib/OpenEXR/ |
/src/openexr/src/test/OpenEXRFuzzTest/oss-fuzz/ |
/usr/local/bin/../include/c++/v1/ |
/src/openexr/src/lib/OpenEXRUtil/ |
/work/_deps/imath-src/src/Imath/ |
/src/openexr/src/lib/OpenEXRCore/ |