Module: Mesa
Branch: master
Commit: 6b8f3724c83959e62b1be0330d6d14e58f91dc5b
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b8f3724c83959e62b1be0330d6d14e58f91dc5b

Author: Michel Dänzer <[email protected]>
Date:   Fri Jun  1 18:59:36 2018 +0200

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 <[email protected]>

---

 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 949c2a5931..e8485acd80 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));

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to