Skip to content
  • Yichao Yu's avatar
    Fix size calculation in `_XimAttributeToValue`. · 93fce3f4
    Yichao Yu authored
    The check here guards the read below.
    For `XimType_XIMStyles`, these are `num` of `CARD32` and for `XimType_XIMHotKeyTriggers`
    these are `num` of `XIMTRIGGERKEY` ref[1] which is defined as 3 x `CARD32`.
    (There are data after the `XIMTRIGGERKEY` according to the spec but they are not read by this
    function and doesn't need to be checked.)
    
    The old code here used the native datatype size instead of the wire protocol size causing
    the check to always fail.
    
    Also fix the size calculation for the header (size). It is 2 x CARD16 for both types
    despite the unused `CARD16` for `XimType_XIMStyles`.
    
    [1] https://www.x.org/releases/X11R7.6/doc/libX11/specs/XIM/xim.html#Input_Method_Styles
    
    This fixes a regression caused by 388b303c in 1.6.10.
    
    Fix #116
    93fce3f4