Re: Problem: no BadLength returned

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 04, 2004 at 11:25:35PM +0800, Peng Hongbo wrote:
>Hello all
>    When a client send a bigrequest with length being
>set to 0, the X server sometimes doesn't return BadLength.
>
>    In xc/programs/Xserer/os/io.c, if the length is 0, then
>client->req_len is set to 0xFFFFFFFF after it move the header.
>Some processor of the request only check for
>REQUEST_AT_LEAST_SIZE(...), for example ProcNoOperation. Then
>the client will not received a BadLength error.
>
>    It may be better for ReadRequestFromClient() to set 
>client->req_len according to the bad request length so that
>BadLength can be returned.

Do you have a patch that fixes this?  Also, have you seen any other bad
side-effects of a bigrequest with length 0?

David

>ReadRequestFromClient(..)
>{
>    ...
>#ifdef BIGREQS
>    if (move_header)
>    {
>        request = (xReq *)oci->bufptr;
>        oci->bufptr += (sizeof(xBigReq) - sizeof(xReq));
>        *(xReq *)oci->bufptr = *request;
>        oci->lenLastReq -= (sizeof(xBigReq) - sizeof(xReq));
>        client->req_len -= (sizeof(xBigReq) - sizeof(xReq)) >> 2;
>    }
>#endif 
>    ...
>}
>
>
>Best Regards!
>Peng Hongbo
>
>
>_______________________________________________
>XFree86 mailing list
>XFree86@xxxxxxxxxxx
>http://XFree86.Org/mailman/listinfo/xfree86
>
_______________________________________________
XFree86 mailing list
XFree86@xxxxxxxxxxx
http://XFree86.Org/mailman/listinfo/xfree86

[Index of Archives]     [X Forum]     [Xorg]     [XFree86 Newbie]     [IETF Announce]     [Security]     [Font Config]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux Kernel]

  Powered by Linux