Bug 1002810 - BadLength for an XI2.0 client on a XI2.2 server
BadLength for an XI2.0 client on a XI2.2 server
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: xorg-x11-server (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Peter Hutterer
Desktop QE
Depends On:
  Show dependency treegraph
Reported: 2013-08-30 00:36 EDT by Peter Hutterer
Modified: 2014-03-05 00:06 EST (History)
0 users

See Also:
Fixed In Version: xorg-x11-server-1.14.2-10.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2014-03-05 00:06:21 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Peter Hutterer 2013-08-30 00:36:12 EDT
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):

How reproducible:

  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);
  XSync(dpy, False);

The code will trigger a BadLength error.

Additional info:
Comment 2 Peter Hutterer 2013-08-30 03:41:33 EDT

xorg-x11-server-1.14.2-10.el7 is available in brew

Note You need to log in before you can comment on or make changes to this bug.