avoid out-of-bounds-read by checking count before indexing.
Signed-off-by: Ameen Ali <[email protected]>
---
drivers/net/wan/cosa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c
index 83c39e2..5252e21 100644
--- a/drivers/net/wan/cosa.c
+++ b/drivers/net/wan/cosa.c
@@ -376,7 +376,7 @@ static int __init cosa_init(void)
}
for (i=0; i<MAX_CARDS; i++)
cosa_cards[i].num = -1;
- for (i=0; io[i] != 0 && i < MAX_CARDS; i++)
+ for (i=0; (i < MAX_CARDS) && (io[i] != 0) ; i++)
cosa_probe(io[i], irq[i], dma[i]);
if (!nr_cards) {
pr_warn("no devices found\n");
--
2.1.0
Hello.
On 02/24/2015 10:52 PM, Ameen Ali wrote:
> avoid out-of-bounds-read by checking count before indexing.
> Signed-off-by: Ameen Ali <[email protected]>
> ---
> drivers/net/wan/cosa.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c
> index 83c39e2..5252e21 100644
> --- a/drivers/net/wan/cosa.c
> +++ b/drivers/net/wan/cosa.c
> @@ -376,7 +376,7 @@ static int __init cosa_init(void)
> }
> for (i=0; i<MAX_CARDS; i++)
> cosa_cards[i].num = -1;
> - for (i=0; io[i] != 0 && i < MAX_CARDS; i++)
> + for (i=0; (i < MAX_CARDS) && (io[i] != 0) ; i++)
Parens you've added aren't necessary.
I suggest to add spaces after and before = in the first expression.
[...]
WBR, Sergei