Closed landaire closed 2 years ago
I also realized MemberType::offset
is provided by this crate, not by me, and is also wrong. I've fixed that as well. Might be worth it to audit count/length-based integers where parse_unsigned()
is called and truncated for similar issues.
I encountered a PDB which contained a type looking something like this:
I noticed something weird about all structs containing this one: all of them had incorrect field offsets (calculated by me) and incorrect sizes. Upon further observation I noticed that the
size
had been truncated from0xF5D00
to0x5D00
. This patch removes the integer truncation from classes/structs (tested) and from unions (untested) and changes their types to beu64
.