summaryrefslogtreecommitdiff
path: root/package/tcp_wrappers/patches/patch-rfc931_c
diff options
context:
space:
mode:
Diffstat (limited to 'package/tcp_wrappers/patches/patch-rfc931_c')
-rw-r--r--package/tcp_wrappers/patches/patch-rfc931_c29
1 files changed, 29 insertions, 0 deletions
diff --git a/package/tcp_wrappers/patches/patch-rfc931_c b/package/tcp_wrappers/patches/patch-rfc931_c
new file mode 100644
index 000000000..56e4ad7c3
--- /dev/null
+++ b/package/tcp_wrappers/patches/patch-rfc931_c
@@ -0,0 +1,29 @@
+--- tcp_wrappers_7.6.orig/rfc931.c 1995-01-02 16:11:34.000000000 +0100
++++ tcp_wrappers_7.6/rfc931.c 2009-06-05 18:45:03.000000000 +0200
+@@ -33,7 +33,7 @@ static char sccsid[] = "@(#) rfc931.c 1.
+
+ int rfc931_timeout = RFC931_TIMEOUT;/* Global so it can be changed */
+
+-static jmp_buf timebuf;
++static sigjmp_buf timebuf;
+
+ /* fsocket - open stdio stream on top of socket */
+
+@@ -62,7 +62,7 @@ int protocol;
+ static void timeout(sig)
+ int sig;
+ {
+- longjmp(timebuf, sig);
++ siglongjmp(timebuf, sig);
+ }
+
+ /* rfc931 - return remote user name, given socket structures */
+@@ -99,7 +99,7 @@ char *dest;
+ * Set up a timer so we won't get stuck while waiting for the server.
+ */
+
+- if (setjmp(timebuf) == 0) {
++ if (sigsetjmp(timebuf,1) == 0) {
+ signal(SIGALRM, timeout);
+ alarm(rfc931_timeout);
+