]> granicus.if.org Git - cronie/commitdiff
Inherit PATH from the crond environment if -P option is used.
authorRobert Byrnes <Robert.Byrnes@deshaw.com>
Thu, 5 Nov 2015 13:38:13 +0000 (14:38 +0100)
committerTomas Mraz <tmraz@fedoraproject.org>
Thu, 5 Nov 2015 13:38:13 +0000 (14:38 +0100)
src/entry.c

index 3638207aba637fc2a8be7927044fe9e029dda268..ce3775692e583956fb51e3dda3f685de28b110f7 100644 (file)
@@ -343,8 +343,18 @@ entry *load_entry(FILE * file, void (*error_func) (), struct passwd *pw,
        e->envp = tenvp;
 #ifndef LOGIN_CAP
        /* If login.conf is in used we will get the default PATH later. */
-       if (ChangePath && !env_get("PATH", e->envp)) {
-               if (glue_strings(envstr, sizeof envstr, "PATH", _PATH_DEFPATH, '=')) {
+       if (!env_get("PATH", e->envp)) {
+               char *defpath;
+
+               if (ChangePath)
+                       defpath = _PATH_DEFPATH;
+               else {
+                       defpath = getenv("PATH");
+                       if (defpath == NULL)
+                               defpath = _PATH_DEFPATH;
+               }
+
+               if (glue_strings(envstr, sizeof envstr, "PATH", defpath, '=')) {
                        if ((tenvp = env_set(e->envp, envstr)) == NULL) {
                                ecode = e_memory;
                                goto eof;