Tomas Mraz 4e9976
diff -up at-3.1.18/atd.c.noabort at-3.1.18/atd.c
Tomas Mraz 4e9976
--- at-3.1.18/atd.c.noabort	2016-03-23 12:49:15.147520116 +0100
Tomas Mraz 4e9976
+++ at-3.1.18/atd.c	2016-03-23 12:49:15.148520138 +0100
Tomas Mraz 4e9976
@@ -349,9 +349,12 @@ run_file(const char *filename, uid_t uid
Tomas Mraz 4e9976
      */
Tomas Mraz 4e9976
 
Tomas Mraz 4e9976
     pid = fork();
Tomas Mraz 4e9976
-    if (pid == -1)
Tomas Mraz 4e9976
-	perr("Cannot fork");
Tomas Mraz 4e9976
-
Tomas Mraz 4e9976
+    if (pid == -1) {
Tomas Mraz 4e9976
+	lerr("Cannot fork for job execution");
Tomas Mraz 4e9976
+	free(mailname);
Tomas Mraz 4e9976
+	free(newname);
Tomas Mraz 4e9976
+	return;
Tomas Mraz 4e9976
+    }
Tomas Mraz 4e9976
     else if (pid != 0) {
Tomas Mraz 4e9976
 	free(mailname);
Tomas Mraz 4e9976
 	free(newname);
Tomas Mraz 4e9976
@@ -669,15 +672,19 @@ run_loop()
Tomas Mraz 4e9976
      * up.
Tomas Mraz 4e9976
      */
Tomas Mraz 4e9976
 
Tomas Mraz 4e9976
-    if (stat(".", &buf) == -1)
Tomas Mraz 4e9976
-	perr("Cannot stat " ATJOB_DIR);
Tomas Mraz 4e9976
+    if (stat(".", &buf) == -1) {
Tomas Mraz 4e9976
+	lerr("Cannot stat " ATJOB_DIR);
Tomas Mraz 4e9976
+        return next_job;
Tomas Mraz 4e9976
+    }
Tomas Mraz 4e9976
 
Tomas Mraz 4e9976
     if (nothing_to_do && buf.st_mtime <= last_chg)
Tomas Mraz 4e9976
 	return next_job;
Tomas Mraz 4e9976
     last_chg = buf.st_mtime;
Tomas Mraz 4e9976
 
Tomas Mraz 4e9976
-    if ((spool = opendir(".")) == NULL)
Tomas Mraz 4e9976
-	perr("Cannot read " ATJOB_DIR);
Tomas Mraz 4e9976
+    if ((spool = opendir(".")) == NULL) {
Tomas Mraz 4e9976
+	lerr("Cannot read " ATJOB_DIR);
Tomas Mraz 4e9976
+        return next_job;
Tomas Mraz 4e9976
+    }
Tomas Mraz 4e9976
 
Tomas Mraz 4e9976
     run_batch = 0;
Tomas Mraz 4e9976
     nothing_to_do = 1;