summaryrefslogtreecommitdiff
path: root/net/ipv6/ping.c
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2016-10-10 12:43:03 -0700
committerDmitry Shmidt <dimitrysh@google.com>2016-10-10 12:43:03 -0700
commit09f6247a9ccaffcc9af1e4a9038e14ecdb76a79d (patch)
treef28f9f114c1aab70185f424ec2be689d1e6cbd3b /net/ipv6/ping.c
parent8760f8e3d9806a940d759c9e12fff7eb7130b9ab (diff)
parentd19e48fe5da7b83d02ed4aec3567f08ae02a168c (diff)
Merge tag 'v4.4.23' into android-4.4.y
This is the 4.4.23 stable release
Diffstat (limited to 'net/ipv6/ping.c')
-rw-r--r--net/ipv6/ping.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/net/ipv6/ping.c b/net/ipv6/ping.c
index 9411c8d770a5..fa65e92e9510 100644
--- a/net/ipv6/ping.c
+++ b/net/ipv6/ping.c
@@ -152,8 +152,10 @@ int ping_v6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
rt = (struct rt6_info *) dst;
np = inet6_sk(sk);
- if (!np)
- return -EBADF;
+ if (!np) {
+ err = -EBADF;
+ goto dst_err_out;
+ }
pfh.icmph.type = user_icmph.icmp6_type;
pfh.icmph.code = user_icmph.icmp6_code;
@@ -183,6 +185,9 @@ int ping_v6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
}
release_sock(sk);
+dst_err_out:
+ dst_release(dst);
+
if (err)
return err;