Retrieve the groups for a token from the server.

Alexandre Julliard julliard at winehq.org
Mon May 8 08:32:39 CDT 2006


Robert Shearman <rob at codeweavers.com> writes:

> +tryagain:
> +            req->handle = token;
> +            wine_server_set_reply( req, buffer, server_buf_len );
> +            status = wine_server_call( req );
> +            if (status == STATUS_BUFFER_TOO_SMALL)
> +            {
> +                if (buffer == stack_buffer)
> +                    buffer = RtlAllocateHeap(GetProcessHeap(), 0, reply->user_len);
> +                else
> +                    buffer = RtlReAllocateHeap(GetProcessHeap(), 0, buffer, reply->user_len);
> +                if (!buffer) return STATUS_NO_MEMORY;
> +
> +                server_buf_len = reply->user_len;
> +                goto tryagain;
> +            }

This is worse, now you are also skipping the initializations that
SERVER_START_REQ does. When retrying you really need to end the first
request properly and restart a new request from scratch.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list