Skip to content

Fix size calculation in `_XimAttributeToValue`.

Yichao Yu requested to merge yuyichao/libx11:fix-size into master

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 (closed)

Merge request reports