blob: e259bbf279775f25f0c6f81ada569f9a97a72336 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
diff -ur qmail-1.03.orig/qmail-smtpd.c qmail-1.03/qmail-smtpd.c
--- qmail-1.03.orig/qmail-smtpd.c 2003-08-11 20:37:16.000000000 -0700
+++ qmail-1.03/qmail-smtpd.c 2003-08-11 20:39:52.000000000 -0700
@@ -519,14 +519,18 @@
if (!stralloc_0(&resp)) die_nomem();
if (fd_copy(2,1) == -1) return err_pipe();
- close(3);
+ //close(3);
if (pipe(pi) == -1) return err_pipe();
- if (pi[0] != 3) return err_pipe();
+ //if (pi[0] != 3) return err_pipe();
switch(child = fork()) {
case -1:
return err_fork();
case 0:
close(pi[1]);
+ if (pi[0] != 3) {
+ close(3);
+ if (0 > dup2(pi[0],3)) _exit(1);
+ }
sig_pipedefault();
execvp(*childargs, childargs);
_exit(1);
|