summaryrefslogtreecommitdiff
path: root/recipes/tcp-wrappers/tcp-wrappers-7.6/siglongjmp
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/tcp-wrappers/tcp-wrappers-7.6/siglongjmp')
-rw-r--r--recipes/tcp-wrappers/tcp-wrappers-7.6/siglongjmp30
1 files changed, 30 insertions, 0 deletions
diff --git a/recipes/tcp-wrappers/tcp-wrappers-7.6/siglongjmp b/recipes/tcp-wrappers/tcp-wrappers-7.6/siglongjmp
new file mode 100644
index 0000000000..71be340a07
--- /dev/null
+++ b/recipes/tcp-wrappers/tcp-wrappers-7.6/siglongjmp
@@ -0,0 +1,30 @@
+diff -ruNp tcp_wrappers_7.6.orig/rfc931.c tcp_wrappers_7.6/rfc931.c
+--- tcp_wrappers_7.6.orig/rfc931.c 2004-08-29 18:42:25.000000000 +0200
++++ tcp_wrappers_7.6/rfc931.c 2004-08-29 18:41:04.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 */
+@@ -135,7 +135,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, 0) == 0) {
+ /* Save SIGALRM timer and handler. Sudheer Abdul-Salam, SUN. */
+ saved_timeout = alarm(0);
+ nact.sa_handler = timeout;