--- 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);