diff options
author | Jie Luo <clotho67@gmail.com> | 2008-08-17 23:13:22 +0200 |
---|---|---|
committer | Maarten Maathuis <madman2003@gmail.com> | 2008-08-17 23:13:22 +0200 |
commit | 99583b43a9a202d047ff417d47485e4c0e0c9670 (patch) | |
tree | 6cc3ec13129b986dd8a6914f8679238dc0205dd4 /glx/glxcmds.c | |
parent | 421b7e8f12083e9518fa7deda968a2f73c9a0006 (diff) |
glx: avoid possible NULLptr deref, fix #16884
Diffstat (limited to 'glx/glxcmds.c')
-rw-r--r-- | glx/glxcmds.c | 12 |
1 files changed, 8 insertions, 4 deletions
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); } } |