From 34a39b7b1ffb48d3ede0871713df7a5f354fb302 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Sun, 4 Jul 2010 18:16:17 +0000 Subject: [PATCH] Obey sv_syscallnames bounds in syscallname(). Reported and tested by: pho --- sys/kern/subr_trap.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c index ee23726be8d4..6a97779602db 100644 --- a/sys/kern/subr_trap.c +++ b/sys/kern/subr_trap.c @@ -245,10 +245,12 @@ const char * syscallname(struct proc *p, u_int code) { static const char unknown[] = "unknown"; + struct sysentvec *sv; - if (p->p_sysent->sv_syscallnames == NULL) + sv = p->p_sysent; + if (sv->sv_syscallnames == NULL || code >= sv->sv_size) return (unknown); - return (p->p_sysent->sv_syscallnames[code]); + return (sv->sv_syscallnames[code]); } int