Skip to content

Commit

Permalink
6lowpan: Off by one handling ->nexthdr
Browse files Browse the repository at this point in the history
NEXTHDR_MAX is 255.  What happens here is that we take a u8 value
"hdr->nexthdr" from the network and then look it up in
lowpan_nexthdr_nhcs[].  The problem is that if hdr->nexthdr is 0xff then
we read one element beyond the end of the array so the array needs to
be one element larger.

Fixes: 92aa7c6 ("6lowpan: add generic nhc layer interface")
Signed-off-by: Dan Carpenter <[email protected]>
Acked-by: Jukka Rissanen <[email protected]>
Acked-by: Alexander Aring <[email protected]>
Signed-off-by: Marcel Holtmann <[email protected]>
  • Loading branch information
Dan Carpenter authored and holtmann committed Apr 23, 2019
1 parent 5035726 commit f57c4bb
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion net/6lowpan/nhc.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
#include "nhc.h"

static struct rb_root rb_root = RB_ROOT;
static struct lowpan_nhc *lowpan_nexthdr_nhcs[NEXTHDR_MAX];
static struct lowpan_nhc *lowpan_nexthdr_nhcs[NEXTHDR_MAX + 1];
static DEFINE_SPINLOCK(lowpan_nhc_lock);

static int lowpan_nhc_insert(struct lowpan_nhc *nhc)
Expand Down

0 comments on commit f57c4bb

Please sign in to comment.