From: Piotr Caban <piotr@codeweavers.com> --- dlls/kerberos/unixlib.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/dlls/kerberos/unixlib.c b/dlls/kerberos/unixlib.c index 95e0c9b3f93..70ba78897d5 100644 --- a/dlls/kerberos/unixlib.c +++ b/dlls/kerberos/unixlib.c @@ -1416,6 +1416,7 @@ static NTSTATUS wow64_seal_message( void *args ) static NTSTATUS wow64_unseal_message( void *args ) { + BYTE *data; struct { UINT64 context; @@ -1432,13 +1433,18 @@ static NTSTATUS wow64_unseal_message( void *args ) params32->context, ULongToPtr(params32->stream), params32->stream_length, - ULongToPtr(params32->data), + &data, ULongToPtr(params32->data_length), ULongToPtr(params32->token), params32->token_length, ULongToPtr(params32->qop), }; - return unseal_message( ¶ms ); + NTSTATUS ret; + + data = ULongToPtr(*(PTR32*)ULongToPtr(params32->data)); + ret = unseal_message( ¶ms ); + *(PTR32*)ULongToPtr(params32->data) = PtrToUlong( data ); + return ret; } static NTSTATUS wow64_verify_signature( void *args ) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11729