[Mesa-dev] [PATCH] st/mesa: Check after _mesa_create_context()

Emil Velikov emil.l.velikov at gmail.com
Sat Jul 9 05:56:32 PDT 2011


In some cases _mesa_create_context() can return NULL
an in the mesa state tracker, we do not concider the
case, which may cause issues within st_create_context_priv()

This patch adds a simple check (similar to the one in the
dri drivers), as well as clears the function table 'funcs'

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
 src/mesa/state_tracker/st_context.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index 6eddbfc..d021d64 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -179,6 +179,10 @@ struct st_context *st_create_context(gl_api api, struct pipe_context *pipe,
    st_init_driver_functions(&funcs);
 
    ctx = _mesa_create_context(api, visual, shareCtx, &funcs, NULL);
+   if (!ctx) {
+      memset(&funcs, 0, sizeof(funcs));
+      return NULL;
+   }
 
    /* XXX: need a capability bit in gallium to query if the pipe
     * driver prefers DP4 or MUL/MAD for vertex transformation.
-- 
1.7.6



More information about the mesa-dev mailing list