Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix PROPVARIANT at 64-bit, Clearing string Vectors + UT #413

Merged
merged 4 commits into from
Jul 6, 2023

Conversation

cuft
Copy link

@cuft cuft commented Jul 5, 2023

  • BLOB becomes a leading value type for PROPVARIANT_IMMUTABLE as it takes another [StructLayout.Pack] at 64-bit platform thanks to the pointer in the structure (BLOB is 12B, PROPVARIANT is 24B size at 64-bit OS)

  • [StructLayout.Pack] removed at PROPVARIANT as it makes no sense with LayoutKind.Explicit

  • [StructLayout.Size] removed at both structures to allow this extension

  • Clearing BSTR Vector - superfluous indirection fixed (bug revealed by UT after 64-bit fix)

  • Clearing LPSTR Vector - uncommented & fixed (it was commented probably due to the same bug, in the way that causes memory leak)

  • IPropSetStorageTest enhanced to read/write multiple properties (it reveals the 64-bit issue)

@cuft cuft changed the title fix PROPVARIANT @64-bit, Clearing string Vectors + UT fix PROPVARIANT at 64-bit, Clearing string Vectors + UT Jul 5, 2023
@dahall dahall merged commit f66686c into dahall:master Jul 6, 2023
@cuft cuft deleted the FixPROPVARIANT branch July 6, 2023 18:06
dahall added a commit that referenced this pull request Jul 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants