irda: small read past the end of array in debug code
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 16 Apr 2013 21:10:38 +0000 (21:10 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Apr 2013 21:32:31 +0000 (17:32 -0400)
commite15465e1808542743627f13d1c0cbb7eacc82b83
tree498799f640d53224044d5cdcb0463a162d7744a2
parentfd7fc253289c419615c1c8bbe418598019567392
irda: small read past the end of array in debug code

The "reason" can come from skb->data[] and it hasn't been capped so it
can be from 0-255 instead of just 0-6.  For example in irlmp_state_dtr()
the code does:

reason = skb->data[3];
...
irlmp_disconnect_indication(self, reason, skb);

Also LMREASON has a couple other values which don't have entries in the
irlmp_reasons[] array.  And 0xff is a valid reason as well which means
"unknown".

So far as I can see we don't actually care about "reason" except for in
the debug code.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/irda/irlmp.h
net/irda/iriap.c
net/irda/irlmp.c