llvm-project/llvm/tools/llvm-symbolizer
Georgii Rymar d221406875 [llvm-symbolizer] - Fix the crash in GNU output style with --no-inlines and missing input file.
Fixes https://bugs.llvm.org/show_bug.cgi?id=48882.

If the input file does not exist (or has a reading error), the
following code will crash if there are two or more input addresses.

```
auto ResOrErr = Symbolizer.symbolizeInlinedCode(
  ModuleName, {Offset, object::SectionedAddress::UndefSection});
Printer << (error(ResOrErr) ? DILineInfo() : ResOrErr.get().getFrame(0));
```

For the first address, `symbolizeInlinedCode` returns an error.
For the second address, `symbolizeInlinedCode` returns an empty result
(not an error) and `.getFrame(0)` will crash.

Differential revision: https://reviews.llvm.org/D95609
2021-01-30 18:36:38 +03:00
..
CMakeLists.txt [llvm-symbolizer] Switch command line parsing from llvm::cl to OptTable 2020-08-04 08:53:15 -07:00
Opts.td Recommit "[llvm-symbolizer] Switch to using native symbolizer by default on Windows" 2020-11-30 17:36:12 -08:00
llvm-symbolizer.cpp [llvm-symbolizer] - Fix the crash in GNU output style with --no-inlines and missing input file. 2021-01-30 18:36:38 +03:00