| | Date | Tue, 30 Mar 2010 15:41:22 -0700 | | From | Greg KH <> | | Subject | [048/156] gigaset: correct range checking off by one error |
| |
2.6.33-stable review patch. If anyone has any objections, please let us know.
------------------ From: Tilman Schmidt <tilman@imap.cc>
commit 6ad34145cf809384359fe513481d6e16638a57a3 upstream.
Correct a potential array overrun due to an off by one error in the range check on the CAPI CONNECT_REQ CIPValue parameter. Found and reported by Dan Carpenter using smatch.
Impact: bugfix Signed-off-by: Tilman Schmidt <tilman@imap.cc> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- drivers/isdn/gigaset/capi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/isdn/gigaset/capi.c +++ b/drivers/isdn/gigaset/capi.c @@ -1313,7 +1313,7 @@ static void do_connect_req(struct gigase } /* check parameter: CIP Value */ - if (cmsg->CIPValue > ARRAY_SIZE(cip2bchlc) || + if (cmsg->CIPValue >= ARRAY_SIZE(cip2bchlc) || (cmsg->CIPValue > 0 && cip2bchlc[cmsg->CIPValue].bc == NULL)) { dev_notice(cs->dev, "%s: unknown CIP value %d\n", "CONNECT_REQ", cmsg->CIPValue);
|