An obsolete weakness occurs when someone uses deprecated or obsolete functions when building a system. As a programming language evolves, some functions occasionally become obsolete.
These functions are considered obsolete on most systems, and very non-portable.
latrace-0.5.11/etc/latrace.d/headers/signal.h
The highlighted line of code below is the trigger point of this particular Fedora 23 obsolete weakness.
SIGSYS = 31,
SIGUNUSED = 31,
SIGRTMIN = 32,
SIGRTMAX = 32
};
enum SIGNAL_HANDLER {
SIG_DFL = 0,
SIG_IGN = 1,
SIG_ERR = -1
};
void* __sysv_signal(int sig = SIGNALS, void *handler = SIGNAL_HANDLER);
void* sysv_signal(int sig = SIGNALS, void *handler = SIGNAL_HANDLER);
void* signal(int sig = SIGNALS, void *handler = SIGNAL_HANDLER);
void* bsd_signal(int sig = SIGNALS, void *handler = SIGNAL_HANDLER);
int kill(__pid_t pid, int sig = SIGNALS);
int killpg(__pid_t pgrp, int sig = SIGNALS);
int raise(int sig = SIGNALS);
void* ssignal(int sig = SIGNALS, void *handler = SIGNAL_HANDLER);
int gsignal(int sig = SIGNALS);
void psignal(int sig = SIGNALS, char *s);
int __sigpause(int sig_or_mask, int is_sig);
int sigpause(int mask);
int sigblock(int mask);
int sigsetmask(int mask);
int siggetmask();
int sigemptyset(void *set);
int sigfillset(void *set);
int sigaddset(void *set, int signo = SIGNALS);
int sigdelset(void *set, int signo = SIGNALS);
int sigismember(void *set, int signo = SIGNALS);
int sigisemptyset(void *set);
int sigandset(void *set, void *left, void *right);
int sigorset(void *set, void *left, void *right);
int sigprocmask(int how, void *set, void *oset);
int sigsuspend(void *set);
int sigaction(int sig = SIGNALS, void *act, void *oact);
int sigpending(void *set);
int sigwait(void *set, int *sig);
int sigwaitinfo(void *set, void *info);