diff options
author | Reinhard Tartler <siretart@tauware.de> | 2011-10-10 17:46:43 +0200 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2011-10-10 17:46:43 +0200 |
commit | 3d1c57d5ef429e51ab7a626540c30b81e74a8f17 (patch) | |
tree | 2589846dd73cb0a86156fc5f2575ea2373431a57 /nx-X11/programs/Xserver/Xi/sendexev.c | |
parent | 844a4094f098684dd1da5bc11e73479fb61373a3 (diff) | |
download | nx-libs-3d1c57d5ef429e51ab7a626540c30b81e74a8f17.tar.gz nx-libs-3d1c57d5ef429e51ab7a626540c30b81e74a8f17.tar.bz2 nx-libs-3d1c57d5ef429e51ab7a626540c30b81e74a8f17.zip |
Imported nx-X11-3.1.0-4.tar.gznx-X11/3.1.0-4
Summary: Imported nx-X11-3.1.0-4.tar.gz
Keywords:
Imported nx-X11-3.1.0-4.tar.gz
into Git repository
Diffstat (limited to 'nx-X11/programs/Xserver/Xi/sendexev.c')
-rw-r--r-- | nx-X11/programs/Xserver/Xi/sendexev.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/nx-X11/programs/Xserver/Xi/sendexev.c b/nx-X11/programs/Xserver/Xi/sendexev.c index c005aecab..9b441f2d8 100644 --- a/nx-X11/programs/Xserver/Xi/sendexev.c +++ b/nx-X11/programs/Xserver/Xi/sendexev.c @@ -87,7 +87,7 @@ SProcXSendExtensionEvent(client) register ClientPtr client; { register char n; - register long *p; + CARD32 *p; register int i; xEvent eventT; xEvent *eventP; @@ -98,6 +98,11 @@ SProcXSendExtensionEvent(client) REQUEST_AT_LEAST_SIZE(xSendExtensionEventReq); swapl(&stuff->destination, n); swaps(&stuff->count, n); + + if (stuff->length != (sizeof(xSendExtensionEventReq) >> 2) + stuff->count + + (stuff->num_events * (sizeof(xEvent) >> 2))) + return BadLength; + eventP = (xEvent *) &stuff[1]; for (i=0; i<stuff->num_events; i++,eventP++) { @@ -108,12 +113,8 @@ SProcXSendExtensionEvent(client) *eventP = eventT; } - p = (long *) (((xEvent *) &stuff[1]) + stuff->num_events); - for (i=0; i<stuff->count; i++) - { - swapl(p, n); - p++; - } + p = (CARD32 *)(((xEvent *) & stuff[1]) + stuff->num_events); + SwapLongs(p, stuff->count); return(ProcXSendExtensionEvent(client)); } |