From e752bed4afcd88da082f8b80ca7060d15c59fb16 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 3 Feb 2012 10:19:55 -0800 Subject: [PATCH] Skip the syscall entry if the sys_func field is NULL Avoid NULL dereference when there are holes in sysent tables. It can happen with syscall (number, ...) and number is in those holes. There are no targets with holey systent tables so far, but at least one such a target, x32, is already on the horizon. * defs.h (SCNO_IN_RANGE): Also check the sys_func field. --- defs.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/defs.h b/defs.h index 8bcd34e0..2f085119 100644 --- a/defs.h +++ b/defs.h @@ -780,7 +780,8 @@ extern unsigned nioctlents; extern const char *const *signalent; extern unsigned nsignals; -#define SCNO_IN_RANGE(scno) ((unsigned long)(scno) < nsyscalls) +#define SCNO_IN_RANGE(scno) \ + ((unsigned long)(scno) < nsyscalls && sysent[scno].sys_func) #if HAVE_LONG_LONG -- 2.50.1