psiginfo relied too much on sys_siglist.

This commit is contained in:
Ulrich Drepper 2010-10-11 10:58:31 -04:00
parent 1751705d1c
commit b76b818e6f
3 changed files with 26 additions and 3 deletions

View File

@ -1,5 +1,9 @@
2010-10-11 Ulrich Drepper <drepper@gmail.com>
[BZ #12108]
* stdio-common/psiginfo.c (psiginfo): Don't expext SIGRTMIN..SIGRTMAX
to have entries in sys_siglist.
[BZ #12093]
* sysdeps/unix/sysv/linux/check_pf.c (__check_pf): ->ifa_addr might
be NULL.

2
NEWS
View File

@ -10,7 +10,7 @@ Version 2.13
* The following bugs are resolved with this release:
3268, 7066, 10851, 11611, 11640, 11701, 11840, 11856, 11883, 11903, 11904,
11968, 11979, 12005, 12037, 12067, 12077, 12092, 12093, 12107
11968, 11979, 12005, 12037, 12067, 12077, 12092, 12093, 12107, 12108
* New Linux interfaces: prlimit, prlimit64, fanotify_init, fanotify_mark

View File

@ -85,9 +85,28 @@ psiginfo (const siginfo_t *pinfo, const char *s)
const char *desc;
if (pinfo->si_signo >= 0 && pinfo->si_signo < NSIG
&& (desc = INTUSE(_sys_siglist)[pinfo->si_signo]) != NULL)
&& ((desc = INTUSE(_sys_siglist)[pinfo->si_signo]) != NULL
|| (pinfo->si_signo >= SIGRTMIN && pinfo->si_signo < SIGRTMAX)))
{
fprintf (fp, "%s (", _(desc));
if (desc == NULL)
{
if (pinfo->si_signo - SIGRTMIN < SIGRTMAX - pinfo->si_signo)
{
if (pinfo->si_signo == SIGRTMIN)
fprintf (fp, "SIGRTMIN (");
else
fprintf (fp, "SIGRTMIN+%d (", pinfo->si_signo - SIGRTMIN);
}
else
{
if (pinfo->si_signo == SIGRTMAX)
fprintf (fp, "SIGRTMAX (");
else
fprintf (fp, "SIGRTMAX-%d (", SIGRTMAX - pinfo->si_signo);
}
}
else
fprintf (fp, "%s (", _(desc));
const char *base = NULL;
const uint8_t *offarr = NULL;