diff --git a/src/main.cpp b/src/main.cpp index 655c2b6..55d3f5b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -206,13 +206,21 @@ int main(int argc, char* argv[]) { if(clim.count("elf")) for(std::string input : clim["elf"].as>()) { auto start_addr = vm->get_arch()->load_file(input); - if(start_addr.second) // FIXME: this always evaluates to true as load file always returns + if(start_addr.second) start_address = start_addr.first; + else { + LOG(ERR) << "Error occured while loading file " << input << std::endl; + return 1; + } } for(std::string input : args) { auto start_addr = vm->get_arch()->load_file(input); // treat remaining arguments as elf files - if(start_addr.second) // FIXME: this always evaluates to true as load file always returns + if(start_addr.second) start_address = start_addr.first; + else { + LOG(ERR) << "Error occured while loading file " << input << std::endl; + return 1; + } } if(clim.count("reset")) { auto str = clim["reset"].as();