[Mesa-dev] [PATCH 2/3] mesa: check default buffer object creation was successful

Timothy Arceri tarceri at itsqueeze.com
Wed Jul 26 01:11:01 UTC 2017


---
 src/mesa/main/shared.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/mesa/main/shared.c b/src/mesa/main/shared.c
index 4bc93a7..27e8094 100644
--- a/src/mesa/main/shared.c
+++ b/src/mesa/main/shared.c
@@ -44,6 +44,9 @@
 #include "util/hash_table.h"
 #include "util/set.h"
 
+static void
+free_shared_state(struct gl_context *ctx, struct gl_shared_state *shared);
+
 /**
  * Allocate and initialize a shared context state structure.
  * Initializes the display list, texture objects and vertex programs hash
@@ -90,6 +93,8 @@ _mesa_alloc_shared_state(struct gl_context *ctx)
 
    /* Allocate the default buffer object */
    shared->NullBufferObj = ctx->Driver.NewBufferObject(ctx, 0);
+   if (!shared->NullBufferObj)
+      goto no_mem;
 
    /* Create default texture objects */
    for (i = 0; i < NUM_TEXTURE_TARGETS; i++) {
@@ -131,6 +136,10 @@ _mesa_alloc_shared_state(struct gl_context *ctx)
                                           _mesa_key_pointer_equal);
 
    return shared;
+
+no_mem:
+   free_shared_state(ctx, shared);
+   return NULL;
 }
 
 
-- 
2.9.4



More information about the mesa-dev mailing list