From: Timothy Arceri Date: Sat, 11 Feb 2017 11:32:47 +0000 (+1100) Subject: util/disk_cache: correctly use stat(3) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0cbde643eb29c8bf19eb8551ac8e821f7f733212;p=mesa.git util/disk_cache: correctly use stat(3) I forgot to error check stat() and also I wasn't using the subdir in is_two_character_sub_directory(). Fixes: d7b3707c612 "util/disk_cache: use stat() to check if entry is a directory" Reviewed-by: Plamena Manolova Reviewed-by: Emil Velikov --- diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c index 42fe432b8c4..047a016006b 100644 --- a/src/util/disk_cache.c +++ b/src/util/disk_cache.c @@ -445,10 +445,10 @@ is_regular_non_tmp_file(struct dirent *entry, const char *path) return false; struct stat sb; - stat(filename, &sb); + int res = stat(filename, &sb); free(filename); - if (!S_ISREG(sb.st_mode)) + if (res == -1 || !S_ISREG(sb.st_mode)) return false; size_t len = strlen (entry->d_name); @@ -492,10 +492,10 @@ is_two_character_sub_directory(struct dirent *entry, const char *path) return false; struct stat sb; - stat(path, &sb); + int res = stat(subdir, &sb); free(subdir); - if (!S_ISDIR(sb.st_mode)) + if (res == -1 || !S_ISDIR(sb.st_mode)) return false; if (strlen(entry->d_name) != 2)