From 5d895a1f374854a068104f07f79a24fc79110aea Mon Sep 17 00:00:00 2001 From: Topi Pohjolainen Date: Thu, 5 Apr 2018 10:21:01 +0300 Subject: [PATCH] nir: Check if u_vector_init() succeeds However, it only fails when running out of memory. Now, if we are about to check that, we should be consistent and check the allocation of the worklist as well. CID: 1433512 Fixes: edb18564c7 nir: Initial implementation of a nir_instr_worklist Reviewed-by: Thomas Helland Signed-off-by: Topi Pohjolainen --- src/compiler/nir/nir_worklist.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/compiler/nir/nir_worklist.h b/src/compiler/nir/nir_worklist.h index e376908..3fb391f 100644 --- a/src/compiler/nir/nir_worklist.h +++ b/src/compiler/nir/nir_worklist.h @@ -105,8 +105,15 @@ typedef struct { static inline nir_instr_worklist * nir_instr_worklist_create() { nir_instr_worklist *wl = malloc(sizeof(nir_instr_worklist)); - u_vector_init(&wl->instr_vec, sizeof(struct nir_instr *), - sizeof(struct nir_instr *) * 8); + if (!wl) + return NULL; + + if (!u_vector_init(&wl->instr_vec, sizeof(struct nir_instr *), + sizeof(struct nir_instr *) * 8)) { + free(wl); + return NULL; + } + return wl; } -- 2.7.4