From 5c4cc46fdc2318fa4a68699cbce59cb37d2ebab5 Mon Sep 17 00:00:00 2001 From: Andrey Zhadchenko Date: Thu, 1 Oct 2020 21:18:40 +0300 Subject: [PATCH] sockets: fix incorrect malloc size Signed-off-by: Andrey Zhadchenko --- criu/sockets.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/criu/sockets.c b/criu/sockets.c index a23383fcc..a73967e72 100644 --- a/criu/sockets.c +++ b/criu/sockets.c @@ -414,12 +414,15 @@ static int restore_socket_filter(int sk, SkOptsEntry *soe) pr_info("Restoring socket filter\n"); sfp.len = soe->n_so_filter; - sfp.filter = xmalloc(soe->n_so_filter * sfp.len); + sfp.filter = xmalloc(sfp.len * sizeof(struct sock_filter)); if (!sfp.filter) return -1; decode_filter(soe->so_filter, sfp.filter, sfp.len); ret = restore_opt(sk, SOL_SOCKET, SO_ATTACH_FILTER, &sfp); + if (ret) + pr_err("Can't restore filter\n"); + xfree(sfp.filter); return ret;