]> diplodocus.org Git - mdeliver/commitdiff
(main): Don't assume the current directory is the user's home
authorepg <>
Thu, 22 Aug 2002 04:08:30 +0000 (04:08 +0000)
committerepg <>
Thu, 22 Aug 2002 04:08:30 +0000 (04:08 +0000)
directory.  Get the HOME environment variable and chdir(2) there.

mdeliver.c

index ba7ca05..796f126 100644 (file)
@@ -147,6 +147,7 @@ deliver(char *maildir, char *newfn)
 int
 main(int argc, char *argv[])
 {
+    char *home;
     char newfn[TMPNAMLEN];
     pid_t pid;
     FILE *errfile;
@@ -158,6 +159,14 @@ main(int argc, char *argv[])
         return 0;
     }
 
+    if (!(home = getenv("HOME"))) {
+        err(EX_TEMPFAIL, "Failed getenv(HOME)");
+    }
+
+    if (chdir(home) != 0) {
+        err(EX_TEMPFAIL, "Failed chdir(HOME)");
+    }
+
     deliver("Maildir", newfn);
 
     if (argv[1]) {