patch-2.4.23 linux-2.4.23/net/ipv4/igmp.c
Next file: linux-2.4.23/net/ipv4/ip_gre.c
Previous file: linux-2.4.23/net/ipv4/icmp.c
Back to the patch index
Back to the overall index
- Lines: 31
- Date:
2003-11-28 10:26:21.000000000 -0800
- Orig file:
linux-2.4.22/net/ipv4/igmp.c
- Orig date:
2003-08-25 04:44:44.000000000 -0700
diff -urN linux-2.4.22/net/ipv4/igmp.c linux-2.4.23/net/ipv4/igmp.c
@@ -285,8 +285,10 @@
return 0;
}
skb = alloc_skb(size + dev->hard_header_len + 15, GFP_ATOMIC);
- if (skb == NULL)
+ if (skb == NULL) {
+ ip_rt_put(rt);
return 0;
+ }
skb->dst = &rt->u.dst;
skb->dev = dev;
@@ -1372,8 +1374,9 @@
sf_markstate(pmc);
#endif
if (!delta) {
+ err = -EINVAL;
if (!pmc->sfcount[sfmode])
- return -EINVAL;
+ goto out_unlock;
pmc->sfcount[sfmode]--;
}
err = 0;
@@ -1404,6 +1407,7 @@
igmp_ifc_event(pmc->interface);
#endif
}
+out_unlock:
spin_unlock_bh(&pmc->lock);
return err;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)