[PATCH] D77289: [Object] Fix crash caused by unhandled error.

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 2 02:41:01 PDT 2020


grimar added inline comments.


================
Comment at: llvm/include/llvm/Object/ELFObjectFile.h:643
+    consumeError(DotDynSymSecSymsOrErr.takeError());
 
   if (EF.getHeader()->e_machine == ELF::EM_ARM) {
----------------
Perhaps it worth to generalize this place a bit? Something like:

```
  auto CheckSymbol = [&](Expected<typename ELFT::SymRange> R) {
    if (!R || ESym == R->begin()) {
      Result |= SymbolRef::SF_FormatSpecific;
      // TODO: Actually report errors helpfully.
      consumeError(R.takeError());
      return false;
    }
    return true;
  };

  if (!CheckSymbol(EF.symbols(DotSymtabSec)) ||
      !CheckSymbol(EF.symbols(DotDynSymSec)))
    return Result;
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77289/new/

https://reviews.llvm.org/D77289





More information about the llvm-commits mailing list