aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-daemons/postfix/files/0007-correct-signature-of-closefrom-API.patch
blob: e583354ccbcb77dcb8522d729059a1ee0a61a3cb (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
From 1e451ddc15af1a4e19318c8b1ced46c5c41610d3 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 14 Jul 2021 18:08:30 -0700
Subject: [PATCH] correct signature of closefrom() API

glibc 2.34 introduced this function and finds this error which has been
all along.

Upstream-Status: Pending

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 src/util/sys_compat.c |  6 +++---
 src/util/sys_defs.h   | 12 ++++++------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/util/sys_compat.c b/src/util/sys_compat.c
index 8bf8e58..c87f043 100644
--- a/src/util/sys_compat.c
+++ b/src/util/sys_compat.c
@@ -286,7 +286,7 @@ int     dup2_pass_on_exec(int oldd, int newd)
 
 /* closefrom() - closes all file descriptors from the given one up */
 
-int     closefrom(int lowfd)
+void     closefrom(int lowfd)
 {
     int     fd_limit = open_limit(0);
     int     fd;
@@ -298,14 +298,14 @@ int     closefrom(int lowfd)
      */
     if (lowfd < 0) {
 	errno = EBADF;
-	return (-1);
+	return;
     }
     if (fd_limit > 500)
 	fd_limit = 500;
     for (fd = lowfd; fd < fd_limit; fd++)
 	(void) close(fd);
 
-    return (0);
+    return;
 }
 
 #endif
diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h
index 2e1c953..515de6c 100644
--- a/src/util/sys_defs.h
+++ b/src/util/sys_defs.h
@@ -1509,7 +1509,7 @@ extern int setsid(void);
 #endif
 
 #ifndef HAS_CLOSEFROM
-extern int closefrom(int);
+extern void closefrom(int);
 
 #endif
 
@@ -1563,7 +1563,7 @@ typedef int pid_t;
 
  /*
   * Clang-style attribute tests.
-  * 
+  *
   * XXX Without the unconditional test below, gcc 4.6 will barf on ``elif
   * defined(__clang__) && __has_attribute(__whatever__)'' with error message
   * ``missing binary operator before token "("''.
@@ -1577,7 +1577,7 @@ typedef int pid_t;
   * warn for missing initializations and other trouble. However, OPENSTEP4
   * gcc 2.7.x cannot handle this so we define this only if NORETURN isn't
   * already defined above.
-  * 
+  *
   * Data point: gcc 2.7.2 has __attribute__ (Wietse Venema) but gcc 2.6.3 does
   * not (Clive Jones). So we'll set the threshold at 2.7.
   */
@@ -1653,12 +1653,12 @@ typedef int pid_t;
   * write to output parameters (for example, stat- or scanf-like functions)
   * or from functions that have other useful side effects (for example,
   * fseek- or rename-like functions).
-  * 
+  *
   * DO NOT use this for functions that write to a stream; it is entirely
   * legitimate to detect write errors with fflush() or fclose() only. On the
   * other hand most (but not all) functions that read from a stream must
   * never ignore result values.
-  * 
+  *
   * XXX Prepending "(void)" won't shut up GCC. Clang behaves as expected.
   */
 #if ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ > 3)
@@ -1739,7 +1739,7 @@ typedef const char *CONST_CHAR_STAR;
   * Safety. On some systems, ctype.h misbehaves with non-ASCII or negative
   * characters. More importantly, Postfix uses the ISXXX() macros to ensure
   * protocol compliance, so we have to rule out non-ASCII characters.
-  * 
+  *
   * XXX The (unsigned char) casts in isalnum() etc arguments are unnecessary
   * because the ISASCII() guard already ensures that the values are
   * non-negative; the casts are done anyway to shut up chatty compilers.