[PATCH] D78736: [DWARF5]: Added support for dumping strx forms in llvm-dwarfdump

Sourabh Singh Tomar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 6 09:40:38 PDT 2020


SouraVX added inline comments.


================
Comment at: llvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp:154
       StrOffset = Data.getRelocatedValue(/*OffsetSize=*/4, &Offset);
-      E.MacroStr = StringExtractor.getCStr(&StrOffset);
+      assert(StringExtractor && "String Extractor not found");
+      E.MacroStr = StringExtractor->getCStr(&StrOffset);
----------------
ikudrin wrote:
> SouraVX wrote:
> > ikudrin wrote:
> > > `assert` should not be used for the cases when malicious user input may trigger it.
> > This `String Extractor` is innocuous in a sense, it is passed as parameters by functions up in the stack. So I left this ``assert` as it is. ? Are you okay with this.
> > Other asserts, I've replaced with error handling.
> What if a malformed `.debug_macinfo` section contains a `DW_MACRO_define_strp` entry? Does the code have any protection against that?
Ah, thanks for noting that. I think we should consider `assert` for these cases `DW_MACRO_define_strp` and `DW_MACRO_define_strx` since these forms belongs and should only be present when section is `debug_macro`. + Test cases to test these cases.
Does this sounds fair to you ? 


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

https://reviews.llvm.org/D78736





More information about the llvm-commits mailing list