Thanks Todd, I'm very happy to see this go in!
================
Comment at: source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp:1101
@@ +1100,3 @@
+ uint32_t version_info;
+ if (data.GetU32 (&offset, &version_info, 1) == nullptr)
+ {
----------------
Todd Fiala wrote:
> Ed Maste wrote:
> > Should we validate that the descsz is as expected in here too? E.g.
> > `(note.n_name == LLDB_NT_OWNER_FREEBSD && note.n_type ==
> > LLDB_NT_FREEBSD_ABI_TAG && note.n_descsz == 4)`
> I could do that. It will fail either way if it's less than the expected size
> (i.e. if we go down the path of processing a note with an owner of
> LLDB_NT_OWNER_FREEBSD and a note type of LLDB_NT_FREEBSD_ABI_TAG) since the
> read will fail.
>
> It might be worth putting a warning in the code if the size doesn't match
> expectations - that way we'd at least be able to track down what was breaking
> if we found the note but it didn't match size expectations. (i.e.
> effectively a change in the note definition or a broken code emitter).
I was thinking of the other case. if the size recorded in the file is larger
than the data. We'd then partially consume the payload and then try to read a
subsequent ELF note from the wrong location, no?
http://reviews.llvm.org/D4302
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits