Fuzz introspector: filestorage_read_file_fuzzer
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
253 268 8 :

['cv::utils::trace::details::SyncTraceStorage::SyncTraceStorage(std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'cv::utils::trace::details::getParameterTraceLocation()', 'std::__1::basic_string , std::__1::allocator >::basic_string(std::__1::basic_string , std::__1::allocator > const&)', 'operator new(unsigned long)', 'operator delete(void*)', 'void cv::Ptr ::reset (cv::utils::trace::details::SyncTraceStorage*)']

574 837 cv::utils::trace::details::TraceManager::TraceManager() call site: 00000 /src/opencv/modules/core/src/trace.cpp:846
10 10 2 :

['cv::getBuildInformation()', 'std::__1::basic_string , std::__1::allocator >::c_str[abi:ne180100]() const']

202 740 cv::HWFeatures::initialize() call site: 00000 /src/opencv/modules/core/src/system.cpp:453
4 4 2 :

['close', 'abort']

4 4 fuzzer_get_tmpfile(unsignedcharconst*,unsignedlong) call site: 00000 /src/./fuzzer_temp_file.h:47
0 0 None 6967 19878 cv::utils::trace::details::Region::Region(cv::utils::trace::details::Region::LocationStaticStorageconst&) call site: 00000 /src/opencv/modules/core/src/trace.cpp:442
0 0 None 634 634 cv::FileStorage::Impl::closeFile() call site: 00000 /src/opencv/modules/core/src/persistence.cpp:926
0 0 None 192 724 cv::HWFeatures::initialize() call site: 00000 /src/opencv/modules/core/src/system.cpp:506
0 0 None 192 724 cv::HWFeatures::initialize() call site: 00000 /src/opencv/modules/core/src/system.cpp:549
0 0 None 59 59 __itt_domain_create_init_3_0 call site: 00000 /src/opencv/3rdparty/ittnotify/src/ittnotify/ittnotify_static.c:394
0 0 None 22 22 fuzzer_get_tmpfile(unsignedcharconst*,unsignedlong) call site: 00000 /src/./fuzzer_temp_file.h:31
0 0 None 8 8 fuzzer_get_tmpfile(unsignedcharconst*,unsignedlong) call site: 00000 /src/./fuzzer_temp_file.h:41
0 0 None 4 4 fuzzer_get_tmpfile(unsignedcharconst*,unsignedlong) call site: 00000 /src/./fuzzer_temp_file.h:36
0 0 None 0 2579 cv::utils::trace::details::TraceManager::isActivated() call site: 00000 /src/opencv/modules/core/src/trace.cpp:899

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 FuzzerTemporaryFile::FuzzerTemporaryFile(unsigned char const*, unsigned long) [function] [call site] 00001
2 fuzzer_get_tmpfile(unsigned char const*, unsigned long) [function] [call site] 00002
3 strdup [call site] 00003
3 perror [call site] 00004
3 abort [call site] 00005
3 mkstemp [call site] 00006
3 perror [call site] 00007
3 abort [call site] 00008
3 fdopen [call site] 00009
3 perror [call site] 00010
3 close [call site] 00011
3 abort [call site] 00012
3 fwrite [call site] 00013
3 close [call site] 00014
3 fprintf [call site] 00015
3 abort [call site] 00016
3 fclose [call site] 00017
1 cv::FileStorage::FileStorage() [function] [call site] 00018
2 cv::Ptr<cv::FileStorage::Impl>::Ptr() [function] [call site] 00019
2 cv::Ptr<cv::FileStorage::Impl> cv::makePtr<cv::FileStorage::Impl, cv::FileStorage*>(cv::FileStorage* const&) [function] [call site] 00020
3 cv::Ptr<cv::FileStorage::Impl>::Ptr(std::__1::shared_ptr<cv::FileStorage::Impl>&&) [function] [call site] 00021
2 cv::Ptr<cv::FileStorage::Impl>::operator=(cv::Ptr<cv::FileStorage::Impl> const&) [function] [call site] 00022
1 cv::FileStorage::~FileStorage() [function] [call site] 00023
1 FuzzerTemporaryFile::~FuzzerTemporaryFile() [function] [call site] 00024
2 fuzzer_release_tmpfile(char*) [function] [call site] 00025
3 unlink [call site] 00026
3 perror [call site] 00027
2 __clang_call_terminate [call site] 00028
3 __cxa_begin_catch [call site] 00029