chiark / gitweb /
path-util: also check for existence of binary when given absolute path
[elogind.git] / src / shared / path-util.c
index 1ad1084b2d5f0653bb56b1e8dee818b39199fe88..e35d7f8d67b502a9864e3a36c9fab689511b25bc 100644 (file)
@@ -427,15 +427,16 @@ int find_binary(const char *name, char **filename) {
         assert(name);
 
         if (strchr(name, '/')) {
+                if (access(name, X_OK) < 0)
+                        return -errno;
+
                 if (filename) {
                         char *p;
 
-                        if (path_is_absolute(name))
-                                p = strdup(name);
-                        else
-                                p = path_make_absolute_cwd(name);
+                        p = path_make_absolute_cwd(name);
                         if (!p)
                                 return -ENOMEM;
+
                         *filename = p;
                 }