diff options
Diffstat (limited to 'recipes/tcp-wrappers/tcp-wrappers-7.6/siglongjmp')
-rw-r--r-- | recipes/tcp-wrappers/tcp-wrappers-7.6/siglongjmp | 30 |
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; |