HomePhabricator

Fix dumping of characters with non-standard sizes

Description

Fix dumping of characters with non-standard sizes

  • Prevent dumping of characters in DumpDataExtractor() with item_byte_size bigger than 8 bytes. This case is not supported by the code and results in a crash because the code calls DataExtractor::GetMaxU64Bitfield() -> GetMaxU64() that asserts for byte size > 8 bytes.
  • Teach DataExtractor::GetMaxU64(), GetMaxU32(), GetMaxS64() and GetMaxU64_unchecked() how to handle byte sizes that are not a multiple of 2. This allows DumpDataExtractor() to dump characters and booleans with item_byte_size in the interval of [1, 8] bytes. Values that are not a multiple of 2 would previously result in a crash because they were not handled by GetMaxU64().

Details

Committed
petr.pavluOct 11 2017, 1:48 AM
Parents
rL315443: [X86] Added tests for TESTM and TESTNM (NFC)
Branches
Unknown
Tags
Unknown