From c9aefbba45ec19085e6f668c3da7d617d21ce181 Mon Sep 17 00:00:00 2001 From: Ryan Long Date: Mon, 13 Dec 2021 08:40:35 -0500 Subject: TraceConverter.cc: Fix Uncaught exception issue CID 1471639: Uncaught exception Closes #4501 --- tester/covoar/TraceConverter.cc | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/tester/covoar/TraceConverter.cc b/tester/covoar/TraceConverter.cc index 8e30ae5..e393268 100644 --- a/tester/covoar/TraceConverter.cc +++ b/tester/covoar/TraceConverter.cc @@ -87,13 +87,37 @@ int main( std::string tracefile; std::string logname = "/tmp/qemu.log"; Coverage::ExecutableInfo* executableInfo; - rld::process::tempfile objdumpFile( ".dmp" ); - rld::process::tempfile err( ".err" ); Coverage::DesiredSymbols symbolsToAnalyze; bool verbose = false; std::string dynamicLibrary; int ec = 0; std::shared_ptr targetInfo; + rld::process::tempfile *objdumpFile; + rld::process::tempfile *err; + + try + { + objdumpFile = new rld::process::tempfile( ".dmp" ); + } + catch ( rld::error re ) + { + std::cerr << "Failed to make .dmp tempfile " << std::endl; + ec = 10; + + return ec; + } + + try + { + err = new rld::process::tempfile( ".err" ); + } + catch ( rld::error re ) + { + std::cerr << "Failed to make .err tempfile " << std::endl; + ec = 10; + + return ec; + } setup_signals(); @@ -195,7 +219,7 @@ int main( try { - objdumpProcessor.loadAddressTable( executableInfo, objdumpFile, err ); + objdumpProcessor.loadAddressTable( executableInfo, *objdumpFile, *err ); log.processFile( logname.c_str(), objdumpProcessor ); trace.writeFile( tracefile.c_str(), &log, verbose ); } -- cgit v1.2.3