oleaut32: Fix SAFEARRAY marshalling on 64-bit platforms.
Alexandre Julliard
julliard at winehq.org
Mon Feb 9 07:05:44 CST 2009
Rob Shearman <robertshearman at gmail.com> writes:
> @@ -874,8 +874,8 @@ unsigned char * WINAPI LPSAFEARRAY_UserMarshal(ULONG *pFlags, unsigned char *Buf
>
> *(ULONG *)Buffer = ulCellCount;
> Buffer += sizeof(ULONG);
> - *(ULONG_PTR *)Buffer = (ULONG_PTR)psa->pvData;
> - Buffer += sizeof(ULONG_PTR);
> + *(ULONG *)Buffer = (ULONG)(ULONG_PTR)psa->pvData;
> + Buffer += sizeof(ULONG);
Wouldn't this break if the pointer happens to be 4Gb-aligned?
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list