drivers/net/at1700.c: at1700_probe1: array overflow

From: Adrian Bunk (bunk_at_stusta.de)
Date: 03/25/05

  • Next message: Adrian Bunk: "[2.6 patch] sound/oss/gus_wave.c: fix off by one errors"
    Date:	Fri, 25 Mar 2005 19:18:36 +0100
    To: jgarzik@pobox.com
    
    

    The Coverity checker found the following:

    <-- snip -->

    ...
    static int at1700_ioaddr_pattern[] __initdata = {
            0x00, 0x04, 0x01, 0x05, 0x02, 0x06, 0x03, 0x07
    };
    ...
    static int __init at1700_probe1(struct net_device *dev, int ioaddr)
    {
    ...
            for (l_i = 0; l_i < 0x09; l_i++)
                    if (( pos3 & 0x07) == at1700_ioaddr_pattern[l_i])
                            break;
            ioaddr = at1700_mca_probe_list[l_i];
    ...
    }
    ...

    <-- snip -->

    This can result in indexing in an array with 8 entries the 10th entry.

    cu
    Adrian

    -- 
           "Is there not promise of rain?" Ling Tan asked suddenly out
            of the darkness. There had been need of rain for many days.
           "Only a promise," Lao Er said.
                                           Pearl S. Buck - Dragon Seed
    -
    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/
    

  • Next message: Adrian Bunk: "[2.6 patch] sound/oss/gus_wave.c: fix off by one errors"

    Relevant Pages