diff options
author | NIIBE Yutaka <[email protected]> | 2021-08-27 00:03:58 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2021-08-27 01:04:27 +0000 |
commit | 467f057ad15cc12ce65d38ec65d8b1c574f11a69 (patch) | |
tree | 8b75e3cd1f80341820fa10cd6af8200c6deb9ddf | |
parent | Protect error counter against overflow. (diff) | |
download | gnupg-467f057ad15cc12ce65d38ec65d8b1c574f11a69.tar.gz gnupg-467f057ad15cc12ce65d38ec65d8b1c574f11a69.zip |
gpg: Use sigdescr_np for newer GNU C library.
* g10/signal.c (got_fatal_signal): Use sigdescr_np if available.
* configure.ac: Check the function.
--
Backport master commit of:
c4ba712736ddeda66055567874d573e79d22666b
GnuPG-bug-id: 5568
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | g10/signal.c | 7 |
2 files changed, 7 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index e5bf1bc1a..0c24a4379 100644 --- a/configure.ac +++ b/configure.ac @@ -946,6 +946,7 @@ AC_C_INLINE AC_C_VOLATILE AC_TYPE_SIZE_T AC_TYPE_MODE_T +AC_CHECK_FUNCS([sigdescr_np]) AC_TYPE_SIGNAL AC_DECL_SYS_SIGLIST diff --git a/g10/signal.c b/g10/signal.c index 44b863d1c..05f09e23f 100644 --- a/g10/signal.c +++ b/g10/signal.c @@ -99,7 +99,12 @@ got_fatal_signal( int sig ) s = log_get_name(); if( s ) write(2, s, strlen(s) ); write(2, ": ", 2 ); -#if HAVE_DECL_SYS_SIGLIST && defined(NSIG) +#if HAVE_SIGDESCR_NP + s = sigdescr_np (sig); + if (!s) + s = "?"; + write (2, s, strlen (s)); +#elif HAVE_DECL_SYS_SIGLIST && defined(NSIG) s = (sig >= 0 && sig < NSIG) ? sys_siglist[sig] : "?"; write (2, s, strlen(s) ); #else |