[PATCH 3/3] Fill buffers in schan_DecryptMessage the same way as windows does

Hans Leidekker hans at codeweavers.com
Tue Aug 31 07:56:11 CDT 2010


On Mon, 2010-08-30 at 19:37 +0300, Mikko Rasa wrote:
 
> -    memcpy(buffer->pvBuffer, data, received);
> -    buffer->cbBuffer = received;
> +    buf_ptr = (char *)buffer->pvBuffer;

You don't need this cast.

> +    offset = ctx->header_bytes;
> +    memcpy(buf_ptr + offset, data, received);
>      HeapFree(GetProcessHeap(), 0, data);
>  
> +    schan_decrypt_fill_buffer(message, SECBUFFER_DATA, buf_ptr + offset, received);
> +    offset += received;
> +
> +    schan_decrypt_fill_buffer(message, SECBUFFER_STREAM_TRAILER, buf_ptr + offset, buffer->cbBuffer - offset);
> +    offset += ctx->trailer_bytes;
> +
> +    if(buffer->cbBuffer > offset)
> +        schan_decrypt_fill_buffer(message, SECBUFFER_EXTRA, buf_ptr + offset, buffer->cbBuffer - offset);
> +
> +    buffer->BufferType = SECBUFFER_STREAM_HEADER;
> +    buffer->cbBuffer = ctx->header_bytes;
> +

FWIW, this patch set passes my tests.





More information about the wine-devel mailing list