mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-01-01 14:10:09 +01:00
Xevie: always initialize rep.length (bug#17394)
The XEvIE extension doesn't clear the rep.length field for any reply but
the version check. Hence, if there is junk data in it and that is sent
to the client, it hangs.
X.Org bug#17394 (http://bugs.freedesktop.org/show_bug.cgi?id=17394)
(cherry picked from commit d3ae193f4a)
This commit is contained in:
parent
67ed1f23fe
commit
bcea1095da
1 changed files with 4 additions and 0 deletions
|
|
@ -202,6 +202,7 @@ int ProcXevieStart (register ClientPtr client)
|
|||
|
||||
xevieModifiersOn = FALSE;
|
||||
|
||||
rep.length = 0;
|
||||
rep.type = X_Reply;
|
||||
rep.sequence_number = client->sequence;
|
||||
WriteToClient (client, sizeof (xXevieStartReply), (char *)&rep);
|
||||
|
|
@ -223,6 +224,7 @@ int ProcXevieEnd (register ClientPtr client)
|
|||
XevieEnd(xevieClientIndex);
|
||||
}
|
||||
|
||||
rep.length = 0;
|
||||
rep.type = X_Reply;
|
||||
rep.sequence_number = client->sequence;
|
||||
WriteToClient (client, sizeof (xXevieEndReply), (char *)&rep);
|
||||
|
|
@ -243,6 +245,7 @@ int ProcXevieSend (register ClientPtr client)
|
|||
return BadAccess;
|
||||
|
||||
xE = (xEvent *)&stuff->event;
|
||||
rep.length = 0;
|
||||
rep.type = X_Reply;
|
||||
rep.sequence_number = client->sequence;
|
||||
WriteToClient (client, sizeof (xXevieSendReply), (char *)&rep);
|
||||
|
|
@ -289,6 +292,7 @@ int ProcXevieSelectInput (register ClientPtr client)
|
|||
return BadAccess;
|
||||
|
||||
xevieMask = stuff->event_mask;
|
||||
rep.length = 0;
|
||||
rep.type = X_Reply;
|
||||
rep.sequence_number = client->sequence;
|
||||
WriteToClient (client, sizeof (xXevieSelectInputReply), (char *)&rep);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue