labath marked an inline comment as done.
labath added inline comments.

================
Comment at: source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp:87-97
   // The textual module id encoding should be between 33 and 40 bytes long,
   // depending on the size of the age field, which is of variable length.
   // The first three chunks of the id are encoded in big endian, so we need to
   // byte-swap those.
-  if (str.size() < 33 || str.size() > 40)
+  if (str.size() <= hex_digits<data_t::uuid_t>() ||
+      str.size() > hex_digits<data_t>())
     return UUID();
----------------
clayborg wrote:
> This is OK as long as the UUIDs for ELF don't fall into this category. I am 
> able to match up UUIDs for ELF just fine for breakpad files for Android.
Normally on linux you should always have the INFO record, which will have the 
unmangled UUID, and which we will give preference to if it is available.

If for some reason we don't find an INFO record, then we will use the version 
from the MODULE record, which we will manually unmangle. But that should be the 
right thing to do as it matches what the breakpad generator does. (You can see 
this by looking at a file which has both of these records -- they will differ 
in that the first one will be mangled and will have an extra zero at the end).


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

https://reviews.llvm.org/D57037



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to