From: H.J. Lu Date: Fri, 3 Feb 2012 18:19:55 +0000 (-0800) Subject: Skip the syscall entry if the sys_func field is NULL X-Git-Tag: v4.7~173 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e752bed4afcd88da082f8b80ca7060d15c59fb16;p=strace 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. --- 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