• Olivier Fourdan's avatar
    xkb: Don't swap XkbSetGeometry data in the input buffer · 81c90dc8
    Olivier Fourdan authored
    The XkbSetGeometry request embeds data which needs to be swapped when the
    server and the client have different endianess.
    
    _XkbSetGeometry() invokes functions that swap these data directly in the
    input buffer.
    
    However, ProcXkbSetGeometry() may call _XkbSetGeometry() more than once
    (if there is more than one keyboard), thus causing on swapped clients the
    same data to be swapped twice in memory, further causing a server crash
    because the strings lengths on the second time are way off bounds.
    
    To allow _XkbSetGeometry() to run reliably more than once with swapped
    clients, do not swap the data in the buffer, use variables instead.
    Signed-off-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
    Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
    81c90dc8
Name
Last commit
Last update
..
Makefile.am Loading commit data...
README.compiled Loading commit data...
XKBAlloc.c Loading commit data...
XKBGAlloc.c Loading commit data...
XKBMAlloc.c Loading commit data...
XKBMisc.c Loading commit data...
XKM_file_format.txt Loading commit data...
ddxBeep.c Loading commit data...
ddxCtrls.c Loading commit data...
ddxKillSrv.c Loading commit data...
ddxLEDs.c Loading commit data...
ddxLoad.c Loading commit data...
ddxPrivate.c Loading commit data...
ddxVT.c Loading commit data...
maprules.c Loading commit data...
xkb.c Loading commit data...
xkb.h Loading commit data...
xkbAccessX.c Loading commit data...
xkbActions.c Loading commit data...
xkbDflts.h Loading commit data...
xkbEvents.c Loading commit data...
xkbInit.c Loading commit data...
xkbLEDs.c Loading commit data...
xkbPrKeyEv.c Loading commit data...
xkbSwap.c Loading commit data...
xkbUtils.c Loading commit data...
xkbfmisc.c Loading commit data...
xkbgeom.h Loading commit data...
xkbout.c Loading commit data...
xkbtext.c Loading commit data...
xkmread.c Loading commit data...