From 4bb2c51a9cf16a82dce92434d64f8d2494435122 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 14 Nov 2019 10:16:54 +0100 Subject: [PATCH] util: file: Use more obvious logic in virFindFileInPath MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make it more obvious that the function will return NULL if the file is not executable and stop reusing variables. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/util/virfile.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/util/virfile.c b/src/util/virfile.c index 072a299b39..c7620e49d5 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -1645,19 +1645,23 @@ virFindFileInPath(const char *file) * copy of that path, after validating that it is executable */ if (IS_ABSOLUTE_FILE_NAME(file)) { - char *ret = NULL; - if (virFileIsExecutable(file)) - ret = g_strdup(file); - return ret; + if (!virFileIsExecutable(file)) + return NULL; + + return g_strdup(file); } /* If we are passed an anchored path (containing a /), then there * is no path search - it must exist in the current directory */ if (strchr(file, '/')) { - if (virFileIsExecutable(file)) - ignore_value(virFileAbsPath(file, &path)); - return path; + char *abspath = NULL; + + if (!virFileIsExecutable(file)) + return NULL; + + ignore_value(virFileAbsPath(file, &abspath)); + return abspath; } /* copy PATH env so we can tweak it */ -- GitLab