summaryrefslogtreecommitdiffstats
path: root/net/ipv4/raw.c
diff options
context:
space:
mode:
authorYajun Deng <yajun.deng@linux.dev>2021-09-13 12:04:42 +0800
committerDavid S. Miller <davem@davemloft.net>2021-09-13 12:37:04 +0100
commitd7807a9adf4856171f8441f13078c33941df48ab (patch)
treeb924b7199a3ace19ae09cb97db9ef1173fce1b1d /net/ipv4/raw.c
parent2049eb0d20de1e6533526ad209f5d1b006ed97c7 (diff)
downloadlinux-d7807a9adf4856171f8441f13078c33941df48ab.tar.bz2
Revert "ipv4: fix memory leaks in ip_cmsg_send() callers"
This reverts commit 919483096bfe75dda338e98d56da91a263746a0a. There is only when ip_options_get() return zero need to free. It already called kfree() when return error. Fixes: 919483096bfe ("ipv4: fix memory leaks in ip_cmsg_send() callers") Signed-off-by: Yajun Deng <yajun.deng@linux.dev> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/raw.c')
-rw-r--r--net/ipv4/raw.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
index bb446e60cf58..1c98063a3ae8 100644
--- a/net/ipv4/raw.c
+++ b/net/ipv4/raw.c
@@ -562,10 +562,9 @@ static int raw_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
if (msg->msg_controllen) {
err = ip_cmsg_send(sk, msg, &ipc, false);
- if (unlikely(err)) {
- kfree(ipc.opt);
+ if (unlikely(err))
goto out;
- }
+
if (ipc.opt)
free = 1;
}