Rob Shearman <robertshear...@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
julli...@winehq.org


Reply via email to