Module: Mesa
Branch: master
Commit: 5d895a1f374854a068104f07f79a24fc79110aea
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5d895a1f374854a068104f07f79a24fc79110aea

Author: Topi Pohjolainen <topi.pohjolai...@intel.com>
Date:   Thu Apr  5 10:21:01 2018 +0300

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 <thomashellan...@gmail.com>
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>

---

 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 e376908766..3fb391fcef 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;
 }
 

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to