165042b18Sopenharmony_ci#include <string> 265042b18Sopenharmony_ci#include <sstream> 365042b18Sopenharmony_ci 465042b18Sopenharmony_ci#include <elfio/elfio.hpp> 565042b18Sopenharmony_ci#include <elfio/elfio_dump.hpp> 665042b18Sopenharmony_ci 765042b18Sopenharmony_ciusing namespace ELFIO; 865042b18Sopenharmony_ci 965042b18Sopenharmony_ciextern "C" int LLVMFuzzerTestOneInput( const uint8_t* Data, size_t Size ) 1065042b18Sopenharmony_ci{ 1165042b18Sopenharmony_ci std::string str( (const char*)Data, Size ); 1265042b18Sopenharmony_ci std::istringstream ss( str ); 1365042b18Sopenharmony_ci std::ostringstream oss; 1465042b18Sopenharmony_ci 1565042b18Sopenharmony_ci elfio elf; 1665042b18Sopenharmony_ci 1765042b18Sopenharmony_ci if ( !elf.load( ss ) ) { 1865042b18Sopenharmony_ci return 0; 1965042b18Sopenharmony_ci } 2065042b18Sopenharmony_ci 2165042b18Sopenharmony_ci dump::header( oss, elf ); 2265042b18Sopenharmony_ci dump::section_headers( oss, elf ); 2365042b18Sopenharmony_ci dump::segment_headers( oss, elf ); 2465042b18Sopenharmony_ci dump::symbol_tables( oss, elf ); 2565042b18Sopenharmony_ci dump::notes( oss, elf ); 2665042b18Sopenharmony_ci dump::modinfo( oss, elf ); 2765042b18Sopenharmony_ci dump::dynamic_tags( oss, elf ); 2865042b18Sopenharmony_ci dump::section_datas( oss, elf ); 2965042b18Sopenharmony_ci dump::segment_datas( oss, elf ); 3065042b18Sopenharmony_ci 3165042b18Sopenharmony_ci return 0; 3265042b18Sopenharmony_ci} 33