From: Adam Jackson Date: Fri, 6 Jul 2018 18:59:21 +0000 (-0400) Subject: glx: Don't allow glXMakeContextCurrent() with only one valid drawable X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=commitdiff_plain;h=d257ec01360be05a745bbb851f08e944bcb23718 glx: Don't allow glXMakeContextCurrent() with only one valid drawable Drawable and readable need to either both be None or both be non-None. Cc: Signed-off-by: Adam Jackson Reviewed-by: Eric Anholt --- diff --git a/src/glx/glxcurrent.c b/src/glx/glxcurrent.c index fd04929b89f..2b9c708c3ee 100644 --- a/src/glx/glxcurrent.c +++ b/src/glx/glxcurrent.c @@ -194,6 +194,13 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw, return True; } + /* can't have only one be 0 */ + if (!!draw != !!read) { + __glXUnlock(); + __glXSendError(dpy, BadMatch, None, X_GLXMakeContextCurrent, True); + return False; + } + if (oldGC != &dummyContext) { if (--oldGC->thread_refcount == 0) { oldGC->vtable->unbind(oldGC, gc);