Module: Mesa
Branch: master
Commit: aef7eb4cacbb241dc895f3e08dba4c91052a98a8
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=aef7eb4cacbb241dc895f3e08dba4c91052a98a8

Author: Nicolai Hähnle <nicolai.haeh...@amd.com>
Date:   Thu Nov  3 10:23:17 2016 +0100

glsl/cache: correct asprintf error handling

From the manpage of asprintf:

   "If memory allocation wasn't possible, or some other error occurs,
    these functions will return -1, and the contents of strp are
    undefined."

Reviewed-by: Iago Toral Quiroga <ito...@igalia.com>
Reviewed-by: Edward O'Callaghan <funfunc...@folklore1984.net>

---

 src/compiler/glsl/cache.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/compiler/glsl/cache.c b/src/compiler/glsl/cache.c
index 64a34f0..e74c27d 100644
--- a/src/compiler/glsl/cache.c
+++ b/src/compiler/glsl/cache.c
@@ -416,7 +416,8 @@ choose_random_file_matching(const char *dir_path,
       return NULL;
    }
 
-   asprintf(&filename, "%s/%s", dir_path, entry->d_name);
+   if (asprintf(&filename, "%s/%s", dir_path, entry->d_name) < 0)
+      filename = NULL;
 
    closedir(dir);
 
@@ -497,8 +498,7 @@ evict_random_item(struct program_cache *cache)
    a = rand() % 16;
    b = rand() % 16;
 
-   asprintf (&dir_path, "%s/%c%c", cache->path, hex[a], hex[b]);
-   if (dir_path == NULL)
+   if (asprintf(&dir_path, "%s/%c%c", cache->path, hex[a], hex[b]) < 0)
       return;
 
    size = unlink_random_file_from_directory(dir_path);

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to