From 6b8f3724c83959e62b1be0330d6d14e58f91dc5b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Michel=20D=C3=A4nzer?= Date: Fri, 1 Jun 2018 18:59:36 +0200 Subject: [PATCH] glx: Fix number of property values to read in glXImportContextEXT We were trying to read twice as many as the X server sent us, which upset XCB: [xcb] Too much data requested from _XRead [xcb] This is most likely caused by a broken X extension library [xcb] Aborting, sorry about that. glx-free-context: ../../src/xcb_io.c:732: _XRead: Assertion `!xcb_xlib_too_much_data_requested' failed. Fixing this takes 3 GLX piglit tests from crash to pass. Fixes: 085216295033 "glx: Be more tolerant in glXImportContext (v2)" Reviewed-by: Adam Jackson --- src/glx/glxcmds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index 949c2a59314..e8485acd809 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -1463,7 +1463,7 @@ glXImportContextEXT(Display *dpy, GLXContextID contextID) if (_XReply(dpy, (xReply *) & reply, 0, False) && reply.n < (INT32_MAX / 2)) { - for (i = 0; i < reply.n * 2; i++) { + for (i = 0; i < reply.n; i++) { int prop[2]; _XRead(dpy, (char *)prop, sizeof(prop)); -- 2.30.2