mesa: fix mem leaks
authorBrian Paul <brianp@vmware.com>
Thu, 1 Oct 2009 20:52:28 +0000 (14:52 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 1 Oct 2009 20:52:28 +0000 (14:52 -0600)
src/mesa/shader/prog_optimize.c

index be903106a08d55467b727158ee9946ae1ac25362..9d937488e37250a9b883d16b77e9e28fdbb99566 100644 (file)
@@ -217,6 +217,7 @@ _mesa_remove_dead_code(struct gl_program *prog)
             if (inst->SrcReg[j].RelAddr) {
                if (dbg)
                   _mesa_printf("abort remove dead code (indirect temp)\n");
+               _mesa_free(removeInst);
                return;
             }
 
@@ -232,6 +233,7 @@ _mesa_remove_dead_code(struct gl_program *prog)
          if (inst->DstReg.RelAddr) {
             if (dbg)
                _mesa_printf("abort remove dead code (indirect temp)\n");
+            _mesa_free(removeInst);
             return;
          }
 
@@ -422,6 +424,8 @@ _mesa_remove_extra_moves(struct gl_program *prog)
    /* now remove the instructions which aren't needed */
    rem = remove_instructions(prog, removeInst);
 
+   _mesa_free(removeInst);
+
    if (dbg) {
       _mesa_printf("Optimize: End remove extra moves.  %u instructions removed\n", rem);
       /*_mesa_print_program(prog);*/