From 99583b43a9a202d047ff417d47485e4c0e0c9670 Mon Sep 17 00:00:00 2001
From: Jie Luo <clotho67@gmail.com>
Date: Sun, 17 Aug 2008 23:13:22 +0200
Subject: glx: avoid possible NULLptr deref, fix #16884

---
 glx/glxcmds.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

(limited to 'glx')

diff --git a/glx/glxcmds.c b/glx/glxcmds.c
index 19d8674a1..aedbc02b0 100644
--- a/glx/glxcmds.c
+++ b/glx/glxcmds.c
@@ -148,8 +148,10 @@ void
 __glXContextDestroy(__GLXcontext *context)
 {
     if (!context->isDirect) {
-	__glXUnrefDrawable(context->drawPriv);
-	__glXUnrefDrawable(context->readPriv);
+	if (context->drawPriv)
+	    __glXUnrefDrawable(context->drawPriv);
+	if (context->readPriv)
+	    __glXUnrefDrawable(context->readPriv);
     }
     __glXFlushContextCache();
 }
@@ -621,8 +623,10 @@ DoMakeCurrent(__GLXclientState *cl,
 	}
 	__glXFlushContextCache();
 	if (!prevglxc->isDirect) {
-	    __glXUnrefDrawable(prevglxc->drawPriv);
-	    __glXUnrefDrawable(prevglxc->readPriv);
+	    if (prevglxc->drawPriv)
+		__glXUnrefDrawable(prevglxc->drawPriv);
+	    if (prevglxc->readPriv)
+		__glXUnrefDrawable(prevglxc->readPriv);
 	}
     }
 	
-- 
cgit v1.2.3