From dae1e6ad1190107da3a75f57d48bd8292a47cbf2 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Wed, 26 Jul 2017 11:11:01 +1000 Subject: [PATCH] mesa: check default buffer object creation was successful Reviewed-by: Samuel Pitoiset --- 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 a2f0f8d398c..53b8597d560 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 fail; /* Create default texture objects */ for (i = 0; i < NUM_TEXTURE_TARGETS; i++) { @@ -132,6 +137,10 @@ _mesa_alloc_shared_state(struct gl_context *ctx) shared->MemoryObjects = _mesa_NewHashTable(); return shared; + +fail: + free_shared_state(ctx, shared); + return NULL; } -- 2.30.2