Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2633d2e authored by Dan Carpenter's avatar Dan Carpenter Committed by David S. Miller
Browse files

atm: iphase: off by one in rx_pkt()



The iadev->rx_open[] array holds "iadev->num_vc" pointers (this code
assumes that pointers are 32 bits).  So the > here should be >= or else
we could end up reading a garbage pointer from one element beyond the
end of the array.

Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 86f04396
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1128,7 +1128,7 @@ static int rx_pkt(struct atm_dev *dev)
	/* make the ptr point to the corresponding buffer desc entry */  
	buf_desc_ptr += desc;	  
        if (!desc || (desc > iadev->num_rx_desc) || 
                      ((buf_desc_ptr->vc_index & 0xffff) > iadev->num_vc)) { 
                      ((buf_desc_ptr->vc_index & 0xffff) >= iadev->num_vc)) {
            free_desc(dev, desc);
            IF_ERR(printk("IA: bad descriptor desc = %d \n", desc);)
            return -1;