i965/fs: Actually free program data on the error path.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 14 May 2014 08:04:02 +0000 (01:04 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 19 May 2014 06:35:20 +0000 (23:35 -0700)
We throw away the data generated during compilation on the success path,
so we really ought to on the failure path as well.  The caller has no
access to it anyway, so it's purely leaked.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
src/mesa/drivers/dri/i965/brw_wm.c

index 5242715603a6781d07364a04deed91995619839e..059d848ff136679961706d1ab584701fb7a5b9f3 100644 (file)
@@ -181,8 +181,10 @@ bool do_wm_prog(struct brw_context *brw,
                                            &fp->program);
 
    program = brw_wm_fs_emit(brw, c, &fp->program, prog, &program_size);
-   if (program == NULL)
+   if (program == NULL) {
+      ralloc_free(c);
       return false;
+   }
 
    if (c->prog_data.total_scratch) {
       brw_get_scratch_bo(brw, &brw->wm.base.scratch_bo,