]> err.no Git - linux-2.6/blobdiff - net/ipv6/ip6_output.c
[IPV4/6]: Fix UFO error propagation
[linux-2.6] / net / ipv6 / ip6_output.c
index f999edd846a9a28744321dc0ab712885454bca29..5bf70b1442eae1f0be6497774be8ea7ceac9cbf1 100644 (file)
@@ -944,10 +944,11 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to,
        if (((length > mtu) && (sk->sk_protocol == IPPROTO_UDP)) &&
            (rt->u.dst.dev->features & NETIF_F_UFO)) {
 
-               if(ip6_ufo_append_data(sk, getfrag, from, length, hh_len,
-                               fragheaderlen, transhdrlen, mtu, flags))
+               err = ip6_ufo_append_data(sk, getfrag, from, length, hh_len,
+                                         fragheaderlen, transhdrlen, mtu,
+                                         flags);
+               if (err)
                        goto error;
-
                return 0;
        }