Marin Ramesa, le Mon 09 Dec 2013 23:57:41 +0100, a écrit : > Check if addr_byte_count is negative. If it is negative the call to > memcpy() will fail. In that case return KERN_INVALID_ARGUMENT.
Ditto. > * device/net_io.c (net_getstat): Check if addr_byte_count is negative. > > --- > device/net_io.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/device/net_io.c b/device/net_io.c > index b3ec292..f437340 100644 > --- a/device/net_io.c > +++ b/device/net_io.c > @@ -1404,7 +1404,8 @@ net_getstat(ifp, flavor, status, count) > int addr_int_count; > int i; > > - addr_byte_count = ifp->if_address_size; > + if ((addr_byte_count = ifp->if_address_size) < 0) > + return KERN_INVALID_ARGUMENT; > addr_int_count = (addr_byte_count + (sizeof(int)-1)) > / sizeof(int); > > -- > 1.8.1.4 > > -- Samuel /* * Oops. The kernel tried to access some bad page. We'll have to * terminate things with extreme prejudice. */ die_if_kernel("Oops", regs, error_code); (From linux/arch/i386/mm/fault.c)