vc4: Fix leak of a copy of the scheduled QPU instructions.
authorEric Anholt <eric@anholt.net>
Mon, 15 Dec 2014 04:28:13 +0000 (20:28 -0800)
committerEric Anholt <eric@anholt.net>
Mon, 15 Dec 2014 07:12:11 +0000 (23:12 -0800)
They're copied into a vc4_bo after compiling is done.

src/gallium/drivers/vc4/vc4_qpu.c

index faf8790b572cb02ae28fc75ff0512fbac004c423..83bf10556c41edbaaca1515b495f10bc5c35a6fe 100644 (file)
@@ -22,6 +22,7 @@
  */
 
 #include <stdbool.h>
+#include "util/ralloc.h"
 #include "vc4_qir.h"
 #include "vc4_qpu.h"
 
@@ -460,8 +461,8 @@ qpu_serialize_one_inst(struct vc4_compile *c, uint64_t inst)
 {
         if (c->qpu_inst_count >= c->qpu_inst_size) {
                 c->qpu_inst_size = MAX2(16, c->qpu_inst_size * 2);
-                c->qpu_insts = realloc(c->qpu_insts,
-                                       c->qpu_inst_size * sizeof(uint64_t));
+                c->qpu_insts = reralloc(c, c->qpu_insts,
+                                        uint64_t, c->qpu_inst_size);
         }
         c->qpu_insts[c->qpu_inst_count++] = inst;
 }