Blame SOURCES/tcp_wrappers-7.6-siglongjmp.patch

c863fc
diff -up tcp_wrappers_7.6/rfc931.c.patch19 tcp_wrappers_7.6/rfc931.c
c863fc
--- tcp_wrappers_7.6/rfc931.c.patch19	2008-08-29 09:45:12.000000000 +0200
c863fc
+++ tcp_wrappers_7.6/rfc931.c	2008-08-29 09:45:12.000000000 +0200
c863fc
@@ -33,7 +33,7 @@ static char sccsid[] = "@(#) rfc931.c 1.
c863fc
 
c863fc
 int     rfc931_timeout = RFC931_TIMEOUT;/* Global so it can be changed */
c863fc
 
c863fc
-static jmp_buf timebuf;
c863fc
+static sigjmp_buf timebuf;
c863fc
 
c863fc
 /* fsocket - open stdio stream on top of socket */
c863fc
 
c863fc
@@ -62,7 +62,7 @@ int     protocol;
c863fc
 static void timeout(sig)
c863fc
 int     sig;
c863fc
 {
c863fc
-    longjmp(timebuf, sig);
c863fc
+    siglongjmp(timebuf, sig);
c863fc
 }
c863fc
 
c863fc
 /* rfc931 - return remote user name, given socket structures */
c863fc
@@ -135,7 +135,7 @@ char   *dest;
c863fc
 	 * Set up a timer so we won't get stuck while waiting for the server.
c863fc
 	 */
c863fc
 
c863fc
-	if (setjmp(timebuf) == 0) {
c863fc
+	if (sigsetjmp(timebuf, 1) == 0) {
c863fc
 	    /* Save SIGALRM timer and handler. Sudheer Abdul-Salam, SUN. */
c863fc
 	    saved_timeout = alarm(0);
c863fc
 	    nact.sa_handler = timeout;