dix: free ClassesRec when a BadAlloc occurs during CoreKeyboardProc.
This commit is contained in:
parent
8da83836b6
commit
c7e9b67c54
|
@ -415,12 +415,14 @@ CoreKeyboardProc(DeviceIntPtr pDev, int what)
|
||||||
keySyms.mapWidth);
|
keySyms.mapWidth);
|
||||||
if (!keySyms.map) {
|
if (!keySyms.map) {
|
||||||
ErrorF("[dix] Couldn't allocate core keymap\n");
|
ErrorF("[dix] Couldn't allocate core keymap\n");
|
||||||
|
xfree(classes);
|
||||||
return BadAlloc;
|
return BadAlloc;
|
||||||
}
|
}
|
||||||
|
|
||||||
modMap = (CARD8 *)xalloc(MAP_LENGTH);
|
modMap = (CARD8 *)xalloc(MAP_LENGTH);
|
||||||
if (!modMap) {
|
if (!modMap) {
|
||||||
ErrorF("[dix] Couldn't allocate core modifier map\n");
|
ErrorF("[dix] Couldn't allocate core modifier map\n");
|
||||||
|
xfree(classes);
|
||||||
return BadAlloc;
|
return BadAlloc;
|
||||||
}
|
}
|
||||||
bzero((char *)modMap, MAP_LENGTH);
|
bzero((char *)modMap, MAP_LENGTH);
|
||||||
|
|
Loading…
Reference in New Issue