Commit baa829d8 authored by Patrick McHardy's avatar Patrick McHardy Committed by David S. Miller

[IPV4/6]: Fix UFO error propagation

When ufo_append_data fails err is uninitialized, but returned back.
Strangely gcc doesn't notice it.

Coverity #901 and #902
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4a1ff6e2
...@@ -847,10 +847,11 @@ int ip_append_data(struct sock *sk, ...@@ -847,10 +847,11 @@ int ip_append_data(struct sock *sk,
if (((length > mtu) && (sk->sk_protocol == IPPROTO_UDP)) && if (((length > mtu) && (sk->sk_protocol == IPPROTO_UDP)) &&
(rt->u.dst.dev->features & NETIF_F_UFO)) { (rt->u.dst.dev->features & NETIF_F_UFO)) {
if(ip_ufo_append_data(sk, getfrag, from, length, hh_len, err = ip_ufo_append_data(sk, getfrag, from, length, hh_len,
fragheaderlen, transhdrlen, mtu, flags)) fragheaderlen, transhdrlen, mtu,
flags);
if (err)
goto error; goto error;
return 0; return 0;
} }
......
...@@ -944,10 +944,11 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to, ...@@ -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)) && if (((length > mtu) && (sk->sk_protocol == IPPROTO_UDP)) &&
(rt->u.dst.dev->features & NETIF_F_UFO)) { (rt->u.dst.dev->features & NETIF_F_UFO)) {
if(ip6_ufo_append_data(sk, getfrag, from, length, hh_len, err = ip6_ufo_append_data(sk, getfrag, from, length, hh_len,
fragheaderlen, transhdrlen, mtu, flags)) fragheaderlen, transhdrlen, mtu,
flags);
if (err)
goto error; goto error;
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment