microsoft / microsoft-pdb

Information from Microsoft about the PDB format. We'll try to keep this up to date. Just trying to help the CLANG/LLVM community get onto Windows.
Other
1.86k stars 273 forks source link

S_THUNK32 Variant Field Location Incorrect? #12

Open brockwyma opened 8 years ago

brockwyma commented 8 years ago

In cvdump, when reading an S_THUNK32 symbol, I believe the location calculated for the variant field is incorrect. The current code is: const void *pVariant = psym->name + *psym->name + 1;

This assumes the 'name' field has been emitted using a length-prefixed form, but it looks like it is encoded as a UTF-8 null-terminated string instead.

Won't this prevent cvdump from correctly displaying the variant fields for the adjustor/vcall/pcode ordinals?