From e4eac235f1a779bea629d409f54caecdf0696093 Mon Sep 17 00:00:00 2001
From: Roderick Colenbrander <thunderbird2k@gmx.net>
Date: Thu, 4 Jan 2007 00:15:54 +0100
Subject: [PATCH] wgl: Fix piAttributes NULL crash.

---
 dlls/winex11.drv/opengl.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index e0ce8b01b73..ebc980e3177 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -605,6 +605,10 @@ static int ConvertAttribWGLtoGLX(const int* iWGLAttr, int* oGLXAttr, Wine_GLPBuf
   int wantColorBits = 0;
   int sz_alpha = 0;
 
+  /* The list of WGL attributes is allowed to be NULL, so don't return -1 (error) but just 0 */
+  if(iWGLAttr == NULL)
+    return 0;
+
   while (0 != iWGLAttr[cur]) {
     TRACE("pAttr[%d] = %x\n", cur, iWGLAttr[cur]);
 
@@ -1963,7 +1967,7 @@ static HPBUFFERARB WINAPI X11DRV_wglCreatePbufferARB(HDC hdc, int iPixelFormat,
     }
     PUSH2(attribs, GLX_PBUFFER_WIDTH,  iWidth);
     PUSH2(attribs, GLX_PBUFFER_HEIGHT, iHeight); 
-    while (0 != *piAttribList) {
+    while (piAttribList && 0 != *piAttribList) {
         int attr_v;
         switch (*piAttribList) {
             case WGL_TEXTURE_FORMAT_ARB: {
-- 
GitLab