Red Hat Bugzilla – Bug 1002810
BadLength for an XI2.0 client on a XI2.2 server
Last modified: 2014-03-05 00:06:21 EST
Description of problem:
This is technically a bug in libXi but needs to be fixed in the server to be backwards compatible with released libXi versions.
If a client requests XIQueryVersion(2.0) against a XI2.2 server and then calls XIAllowEvents(), libXi picks the request length based on the version reported by the server, not the client. This request length is different to what the server expects from a XI 2.0 client and it responds with a BadLength error.
Version-Release number of selected component (if applicable):
Display *dpy = XOpenDisplay(NULL);
int major = 2, minor = 0;
XIQueryVersion(dpy, &major, &minor);
assert(minor >= 2); /* need a 2.2 server */
XIAllowEvents(dpy, 2, XIAsyncDevice, CurrentTime);
The code will trigger a BadLength error.
xorg-x11-server-1.14.2-10.el7 is available in brew