diff options
-rw-r--r-- | src/compiler/nir/nir_worklist.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/compiler/nir/nir_worklist.h b/src/compiler/nir/nir_worklist.h index e3769087664..3fb391fceff 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; } |