Information*/Troubleshoot

OSS Fuzzer Error

ch4rli3kop 2020. 7. 19. 16:10
반응형

OSS Fuzzer Error

build.sh 스크립트 이용해서 빌드하려고 하는데 다음과 같은 오류가 발생함.

/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream:534: undefined reference to `VTT for s
td::basic_ifstream<char, std::char_traits<char> >'
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream:534: undefined reference to `std::basi
c_ifstream<char, std::char_traits<char> >::~basic_ifstream()'
/src/libfuzzer/libFuzzer.a(FuzzerIO.o): In function `~basic_ios':
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_ios.h:282: undefined reference to `
std::ios_base::~ios_base()'
/src/libfuzzer/libFuzzer.a(FuzzerIO.o): In function `fuzzer::FileToString(std::__cxx11::basic_string<char, std::
char_traits<char>, std::allocator<char> > const&)':
/src/libfuzzer/./FuzzerIO.cpp:54: undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::ba
sic_ifstream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::_Ios_O
penmode)'
...

/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/hashtable.h:1594: undefined reference to
`std::__detail::_Prime_rehash_policy::_M_need_rehash(unsigned long, unsigned long, unsigned long) const'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)

Solution

$CXX $CXXFLAGS -I. $UNRAR_SRC_DIR/unrar_fuzzer.cc -o $OUT/unrar_fuzzer \
    $UNRAR_DEFINES $LIB_FUZZING_ENGINE -L$UNRAR_SRC_DIR -lunrar

build.sh 의 $LIB_FUZZING_ENGINE 부분을 -fsanitize=fuzzer 로 수정해주면 됨.

대충 다음과 같이 수정했씀.

# build fuzzer
$CXX $CXXFLAGS -I. $UNRAR_SRC_DIR/unrar_fuzzer.cc -o $OUT/unrar_fuzzer \
    $UNRAR_DEFINES -fsanitize=fuzzer,address  -L$UNRAR_SRC_DIR -lunrar -v -lpthread -g -std=c++11


반응형

'Information* > Troubleshoot' 카테고리의 다른 글

afl-clang-fast make error  (2) 2021.01.22
frida Failed to spawn  (0) 2020.09.13
git pull error  (0) 2020.06.17
Java.perform() error  (0) 2020.06.03
docker-compose up error  (0) 2019.06.02