ipv6: Fix leak in ipv6_gso_segment().
[pandora-kernel.git] / net / ipv6 / af_inet6.c
index b0e4fb8..7039068 100644 (file)
@@ -824,8 +824,10 @@ static struct sk_buff *ipv6_gso_segment(struct sk_buff *skb, u32 features)
                                           sizeof(*ipv6h));
                if (proto == IPPROTO_UDP) {
                        int err = ip6_find_1stfragopt(skb, &prevhdr);
-                       if (err < 0)
+                       if (err < 0) {
+                               kfree_skb_list(segs);
                                return ERR_PTR(err);
+                       }
                        fptr = (struct frag_hdr *)(skb_network_header(skb) +
                                err);
                        fptr->frag_off = htons(offset);