Date: Sat, 18 Sep 2004 12:21:46 +0200 From: gerarra@tin.it To: freebsd-hackers@freebsd.org Subject: Re: FreeBSD Kernel buffer overflow Message-ID: <4146316C0000A1E3@ims3a.cp.tin.it> In-Reply-To: <20040918090227.GX30151@darkness.comp.waw.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
>-- Messaggio originale --
>Date: Sat, 18 Sep 2004 11:02:27 +0200
>From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
>To: Giorgos Keramidas <keramida@freebsd.org>
>Cc: freebsd-hackers@freebsd.org
>Cc: gerarra@tin.it
>Subject: Re: FreeBSD Kernel buffer overflow
>
>
>On Fri, Sep 17, 2004 at 12:37:12PM +0300, Giorgos Keramidas wrote:
>+> % +#ifdef INVARIANTS
>+> % + KASSERT(0 <= narg && narg <= 8, ("invalid number of syscall
>args"));
>+> % +#endif
>
>Maybe:
>KASSERT(0 <= narg && narg <= sizeof(args) / sizeof(args[0]),
> ("invalid number of syscall args"));
>
>So if we decide to increase/decrease it someday, we don't have to remember
>about this KASSERT().
Maybe better:
#define ARGS_MAGIC 8
...
int args[ARGS_MAGIC];
....
#ifdef INVARIANTS
KASSERT(0 <= narg && narg <= ARGS_MAGIC, ("invalid number of syscall args"));
#endif
(preprocession work)
rookie
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4146316C0000A1E3>
