createDrawable may return NULL value, we should check it, or it will
make a segment failed.

Signed-off-by: Wang YanQing <udkni...@gmail.com>
---
 src/glx/dri_common.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/glx/dri_common.c b/src/glx/dri_common.c
index e7dba5a..6122d32 100644
--- a/src/glx/dri_common.c
+++ b/src/glx/dri_common.c
@@ -376,6 +376,12 @@ driFetchDrawable(struct glx_context *gc, GLXDrawable 
glxDrawable)
 
    pdraw = psc->driScreen->createDrawable(psc, glxDrawable,
                                           glxDrawable, gc->config);
+
+   if (pdraw == NULL) {
+     fprintf(stderr, "failed to create drawable\n");
+     return NULL;
+   }
+
    if (__glxHashInsert(priv->drawHash, glxDrawable, pdraw)) {
       (*pdraw->destroyDrawable) (pdraw);
       return NULL;
-- 
1.7.9.2.315.g25a78

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to