Messages in this thread | | | Date | Thu, 20 Aug 2009 13:53:51 +0200 | Subject | Re: zorro8390: Fix read buffer overflow in zorro8390_init_one() | From | Geert Uytterhoeven <> |
| |
On Tue, Aug 18, 2009 at 23:59, Linux Kernel Mailing List<linux-kernel@vger.kernel.org> wrote: > Gitweb: http://git.kernel.org/linus/be12159b24c532b4b48bdec5a543336438faa132 > Commit: be12159b24c532b4b48bdec5a543336438faa132 > Parent: 5e33b719c8fcccfedc1d25167826a0f93fe6c5a1 > Author: roel kluin <roel.kluin@gmail.com> > AuthorDate: Sun Aug 9 04:00:25 2009 +0000 > Committer: David S. Miller <davem@davemloft.net> > CommitDate: Sun Aug 9 21:46:53 2009 -0700 > > zorro8390: Fix read buffer overflow in zorro8390_init_one() > > Prevent read from cards[-1] when no card was found. > > Signed-off-by: Roel Kluin <roel.kluin@gmail.com> > Signed-off-by: David S. Miller <davem@davemloft.net> > --- > drivers/net/zorro8390.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/zorro8390.c b/drivers/net/zorro8390.c > index 37c84e3..81c753a 100644 > --- a/drivers/net/zorro8390.c > +++ b/drivers/net/zorro8390.c > @@ -120,6 +120,9 @@ static int __devinit zorro8390_init_one(struct zorro_dev *z, > for (i = ARRAY_SIZE(cards)-1; i >= 0; i--) > if (z->id == cards[i].id) > break; > + if (i < 0) > + return -ENODEV; > + > board = z->resource.start; > ioaddr = board+cards[i].offset; > dev = alloc_ei_netdev();
That case can never happen, as zorro8390_init_one() won't be called without a matching ID.
But probably the information in struct card_info should be stored in zorro8390_zorro_tbl[].driver_data, so we can remove cards[] and the look up.
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |