patch-2.0.22 linux/net/ipv4/arp.c
Next file: linux/net/ipv4/icmp.c
Previous file: linux/net/bridge/br.c
Back to the patch index
Back to the overall index
- Lines: 33
- Date:
Wed Oct 2 14:44:00 1996
- Orig file:
v2.0.21/linux/net/ipv4/arp.c
- Orig date:
Mon Aug 5 10:13:55 1996
diff -u --recursive --new-file v2.0.21/linux/net/ipv4/arp.c linux/net/ipv4/arp.c
@@ -1984,13 +1984,14 @@
{
if (!mask && ip)
return -EINVAL;
- if (!dev)
+ if (!dev) {
dev = dev_getbytype(r->arp_ha.sa_family);
+ if (!dev)
+ return -ENODEV;
+ }
}
else
{
- if (ip_chk_addr(ip) && dev->type != ARPHRD_METRICOM)
- return -EINVAL;
if (!dev)
{
struct rtable * rt;
@@ -1999,9 +2000,13 @@
return -ENETUNREACH;
dev = rt->rt_dev;
ip_rt_put(rt);
+ if (!dev)
+ return -ENODEV;
}
+ if (dev->type != ARPHRD_METRICOM && ip_chk_addr(ip))
+ return -EINVAL;
}
- if (!dev || (dev->flags&(IFF_LOOPBACK|IFF_NOARP)))
+ if (dev->flags & (IFF_LOOPBACK | IFF_NOARP))
return -ENODEV;
if (r->arp_ha.sa_family != dev->type)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov