disk_cache: Fix filename leak on error path.
authorVinson Lee <vlee@freedesktop.org>
Tue, 15 Sep 2020 23:28:06 +0000 (16:28 -0700)
committerVinson Lee <vlee@freedesktop.org>
Thu, 17 Sep 2020 22:42:44 +0000 (15:42 -0700)
Remove filename ralloc comment. filename is allocated by asprintf.

Clean up disk_cache_get dead code left over from 367ac07efcc8
("disk_cache: move cache item loading code into
disk_cache_load_item() helper").

Fix defect reported by Coverity Scan.
Logically dead code (DEADCODE)
dead_error_line: Execution cannot reach this statement:
free(filename);

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6738>

src/util/disk_cache.c
src/util/disk_cache_os.c

index 91ef18c..9953de6 100644 (file)
@@ -372,15 +372,9 @@ disk_cache_get(struct disk_cache *cache, const cache_key key, size_t *size)
 
    char *filename = disk_cache_get_cache_filename(cache, key);
    if (filename == NULL)
-      goto fail;
+      return NULL;
 
    return disk_cache_load_item(cache, filename, size);
-
-fail:
-   if (filename)
-      free(filename);
-
-   return NULL;
 }
 
 void
index fd49bff..b087cd5 100644 (file)
@@ -616,6 +616,8 @@ disk_cache_load_item(struct disk_cache *cache, char *filename, size_t *size)
  fail:
    if (data)
       free(data);
+   if (filename)
+      free(filename);
    if (uncompressed_data)
       free(uncompressed_data);
    if (file_header)
@@ -626,8 +628,7 @@ disk_cache_load_item(struct disk_cache *cache, char *filename, size_t *size)
    return NULL;
 }
 
-/* Return a filename within the cache's directory corresponding to 'key'. The
- * returned filename is ralloced with 'cache' as the parent context.
+/* Return a filename within the cache's directory corresponding to 'key'.
  *
  * Returns NULL if out of memory.
  */