hdlc: fix null-deref on allocation failure
If alloc_netdev() failed and return NULL, then the next instruction would dereference it. Found by Coverity. Compile tested only. Not sure if anyone still uses this driver (or the whole WAN subsystem). Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6f97532ef0
commit
52d178516d
|
@ -1075,11 +1075,10 @@ static int fr_add_pvc(struct net_device *frad, unsigned int dlci, int type)
|
|||
|
||||
used = pvc_is_used(pvc);
|
||||
|
||||
if (type == ARPHRD_ETHER) {
|
||||
if (type == ARPHRD_ETHER)
|
||||
dev = alloc_netdev(0, "pvceth%d", NET_NAME_UNKNOWN,
|
||||
ether_setup);
|
||||
dev->priv_flags &= ~IFF_TX_SKB_SHARING;
|
||||
} else
|
||||
else
|
||||
dev = alloc_netdev(0, "pvc%d", NET_NAME_UNKNOWN, pvc_setup);
|
||||
|
||||
if (!dev) {
|
||||
|
@ -1088,9 +1087,10 @@ static int fr_add_pvc(struct net_device *frad, unsigned int dlci, int type)
|
|||
return -ENOBUFS;
|
||||
}
|
||||
|
||||
if (type == ARPHRD_ETHER)
|
||||
if (type == ARPHRD_ETHER) {
|
||||
dev->priv_flags &= ~IFF_TX_SKB_SHARING;
|
||||
eth_hw_addr_random(dev);
|
||||
else {
|
||||
} else {
|
||||
*(__be16*)dev->dev_addr = htons(dlci);
|
||||
dlci_to_q922(dev->broadcast, dlci);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue