Przeglądaj źródła

[ATM]: Fix dereference of uninitialized pointer in zatm

Fixing breakage from [NET]: Kill skb->list - original was
	assign vcc
	do a bunch of stuff using ZATM_VCC(vcc)->pool as common subexpression
Now we do
	int pos = ZATM_VCC(vcc)->pool;
	assign vcc
	do a bunch of stuff
even though vcc is not even initialized when we enter that block...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Al Viro 20 lat temu
rodzic
commit
d70063c463
1 zmienionych plików z 2 dodań i 2 usunięć
  1. 2 2
      drivers/atm/zatm.c

+ 2 - 2
drivers/atm/zatm.c

@@ -417,9 +417,9 @@ printk("dummy: 0x%08lx, 0x%08lx\n",dummy[0],dummy[1]);
 		chan = (here[3] & uPD98401_AAL5_CHAN) >>
 		    uPD98401_AAL5_CHAN_SHIFT;
 		if (chan < zatm_dev->chans && zatm_dev->rx_map[chan]) {
-			int pos = ZATM_VCC(vcc)->pool;
-
+			int pos;
 			vcc = zatm_dev->rx_map[chan];
+			pos = ZATM_VCC(vcc)->pool;
 			if (skb == zatm_dev->last_free[pos])
 				zatm_dev->last_free[pos] = NULL;
 			skb_unlink(skb, zatm_dev->pool + pos);