diff options
Diffstat (limited to 'usr/src/cmd/cron')
-rw-r--r-- | usr/src/cmd/cron/cron.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/usr/src/cmd/cron/cron.c b/usr/src/cmd/cron/cron.c index 189d0d4727..75e7106d5e 100644 --- a/usr/src/cmd/cron/cron.c +++ b/usr/src/cmd/cron/cron.c @@ -898,8 +898,13 @@ mod_ctab(char *name, time_t reftime) } else { u->uid = pw->pw_uid; u->gid = pw->pw_gid; - if (strcmp(u->home, pw->pw_dir) != 0) { - free(u->home); + if (u->home != NULL) { + if (strcmp(u->home, pw->pw_dir) != 0) { + free(u->home); + u->home = xmalloc(strlen(pw->pw_dir) + 1); + (void) strcpy(u->home, pw->pw_dir); + } + } else { u->home = xmalloc(strlen(pw->pw_dir) + 1); (void) strcpy(u->home, pw->pw_dir); } |