From: Tapani Pälli Date: Fri, 26 Jan 2018 08:25:16 +0000 (+0200) Subject: i965: fix prog_data leak in brw_disk_cache X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=28db950b51274ce296cd625db62abe935d1e4ed9;p=mesa.git i965: fix prog_data leak in brw_disk_cache ==25481== 576 bytes in 1 blocks are definitely lost in loss record 179 of 208 ==25481== at 0x4C2FB6B: malloc (vg_replace_malloc.c:299) ==25481== by 0x1404E2CC: ralloc_size (ralloc.c:121) ==25481== by 0x14119F82: read_and_upload (brw_disk_cache.c:176) ==25481== by 0x1411A5C9: brw_disk_cache_upload_program (brw_disk_cache.c:271) ==25481== by 0x1412FCA4: brw_upload_wm_prog (brw_wm.c:597) Fixes: 516d50db319 ("i965: add initial implementation of on disk shader cache") Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Tapani Pälli Reviewed-by: Iago Toral Quiroga Reviewed-by: Emil Velikov --- diff --git a/src/mesa/drivers/dri/i965/brw_disk_cache.c b/src/mesa/drivers/dri/i965/brw_disk_cache.c index 7d965f6d0d9..6196386425d 100644 --- a/src/mesa/drivers/dri/i965/brw_disk_cache.c +++ b/src/mesa/drivers/dri/i965/brw_disk_cache.c @@ -185,6 +185,7 @@ read_and_upload(struct brw_context *brw, struct disk_cache *cache, } disk_cache_remove(cache, binary_sha1); + ralloc_free(prog_data); free(buffer); return false; } @@ -236,6 +237,7 @@ read_and_upload(struct brw_context *brw, struct disk_cache *cache, prog->program_written_to_cache = true; + ralloc_free(prog_data); free(buffer); return true;