netdev
[Top] [All Lists]

Re: [PATCH] Kernel oops in ip6t_LOG.c:ip6_nexthdr

To: okir@xxxxxxx, netdev@xxxxxxxxxxx
Subject: Re: [PATCH] Kernel oops in ip6t_LOG.c:ip6_nexthdr
From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@xxxxxxxxxx>
Date: Thu, 26 Aug 2004 20:56:45 +0900 (JST)
Cc: netfilter-devel@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20040826113538.GE15409@xxxxxxx>
References: <20040826113538.GE15409@xxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
In article <20040826113538.GE15409@xxxxxxx> (at Thu, 26 Aug 2004 13:35:39 
+0200), Olaf Kirch <okir@xxxxxxx> says:

>                         hdrlen = *hdrptr[1] * 8 + 8;
>                                ^^^^^^^^^^ it dies here
>                         *hdrptr = *hdrptr + hdrlen;
>                         break;
> 
> hdrptr is a u_int8_t **. What you really want to do here is
> look at (*hdrptr)[1], but what the expression does is look at
> *(hdrptr[1]). Unfortunately, hdrptr[1] is usually random garbage.

Agreed. Same bug also lives in 2.4.x.

--yoshfuji

<Prev in Thread] Current Thread [Next in Thread>