aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xkb/xkb.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-09-11 08:41:00 +0000
committermarha <marha@users.sourceforge.net>2010-09-11 08:41:00 +0000
commite172c89783326e2378e4793ff31a0f44210c5534 (patch)
tree7faed3d12aa20736af6a18fff1a5745cdf57de46 /xorg-server/xkb/xkb.c
parentc3d4371fec1beb5b71d21a90be5db6d32c4c185f (diff)
downloadvcxsrv-e172c89783326e2378e4793ff31a0f44210c5534.tar.gz
vcxsrv-e172c89783326e2378e4793ff31a0f44210c5534.tar.bz2
vcxsrv-e172c89783326e2378e4793ff31a0f44210c5534.zip
xserver git update 11/9/2010
Diffstat (limited to 'xorg-server/xkb/xkb.c')
-rw-r--r--xorg-server/xkb/xkb.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/xorg-server/xkb/xkb.c b/xorg-server/xkb/xkb.c
index 965118cbb..7ed875225 100644
--- a/xorg-server/xkb/xkb.c
+++ b/xorg-server/xkb/xkb.c
@@ -224,7 +224,8 @@ ProcXkbSelectEvents(ClientPtr client)
masks = XkbFindClientResource((DevicePtr)dev,client);
if (!masks){
XID id = FakeClientID(client->index);
- AddResource(id,RT_XKBCLIENT,dev);
+ if (!AddResource(id,RT_XKBCLIENT,dev))
+ return BadAlloc;
masks= XkbAddClientResource((DevicePtr)dev,client,id);
}
if (masks) {
@@ -3019,6 +3020,7 @@ register unsigned bit;
to = (CARD8 *)wire;
if ((to-map)!=length) {
client->errorValue = _XkbErrCode2(0xff,length);
+ free(map);
return BadLength;
}
}
@@ -5377,7 +5379,8 @@ ProcXkbPerClientFlags(ClientPtr client)
}
else if (want && (!interest)) {
XID id = FakeClientID(client->index);
- AddResource(id,RT_XKBCLIENT,dev);
+ if (!AddResource(id,RT_XKBCLIENT,dev))
+ return BadAlloc;
interest= XkbAddClientResource((DevicePtr)dev,client,id);
if (!interest)
return BadAlloc;