Skip to content

Commit

Permalink
return decl instead of nullptr
Browse files Browse the repository at this point in the history
  • Loading branch information
Ninja3047 committed Feb 29, 2024
1 parent 40aa391 commit f76fd9a
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions lib/Lifters/FunctionLifter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -409,13 +409,6 @@ llvm::Function *FunctionLifter::LiftFunction(const FunctionDecl &decl) {
return nullptr;
}

// Function has no valid instructions.
auto &cfg = decl.cfg;
if (cfg.find(decl.entry_uid) == cfg.end()) {
LOG(ERROR) << "Function missing entry block " << std::hex << decl.address;
return nullptr;
}

// This is our higher-level function, i.e. it presents itself more like
// a function compiled from C/C++, rather than being a three-argument Remill
// function. In this function, we will stack-allocate a `State` structure,
Expand All @@ -440,6 +433,14 @@ llvm::Function *FunctionLifter::LiftFunction(const FunctionDecl &decl) {
return native_func;
}

// Function has no valid instructions.
auto &cfg = decl.cfg;
if (cfg.find(decl.entry_uid) == cfg.end()) {
LOG(WARNING) << "Function missing entry block " << std::hex << decl.address;
return native_func;
}


// Every lifted function starts as a clone of __remill_basic_block. That
// prototype has multiple arguments (memory pointer, state pointer, program
// counter). This extracts the state pointer.
Expand Down

0 comments on commit f76fd9a

Please sign in to comment.