postfix/postfix-avoid-infinit-loop-if-no-permission.patch

20 lines
600 B
Diff

Index: src/global/mail_queue.c
===================================================================
--- src/global/mail_queue.c.orig
+++ src/global/mail_queue.c
@@ -363,6 +363,14 @@ VSTREAM *mail_queue_enter(const char *qu
break;
if (errno == EEXIST || errno == EISDIR)
continue;
+ /*
+ * Avoid getting into an infinite loop when we don't have permission to
+ * read temp_path
+ */
+ if (errno == EACCES) {
+ msg_fatal("%s: create file %s: no permission", myname, STR(temp_path));
+ break;
+ }
msg_warn("%s: create file %s: %m", myname, STR(temp_path));
sleep(10);
}