ipv6: Check ip6_find_1stfragopt() return value properly.
[pandora-kernel.git] / net / ipv6 / ip6_output.c
index dd31060..81a7803 100644 (file)
@@ -631,11 +631,10 @@ int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *))
        u8 *prevhdr, nexthdr = 0;
        struct net *net = dev_net(skb_dst(skb)->dev);
 
-       hlen = ip6_find_1stfragopt(skb, &prevhdr);
-       if (hlen < 0) {
-               err = hlen;
+       err = ip6_find_1stfragopt(skb, &prevhdr);
+       if (err < 0)
                goto fail;
-       }
+       hlen = err;
        nexthdr = *prevhdr;
 
        mtu = ip6_skb_dst_mtu(skb);