aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2024-03-25 10:41:00 +0000
committerPeter Maydell <peter.maydell@linaro.org>2024-03-25 10:41:00 +0000
commitbed150be5b94ee499384fa6d052c0cb398a20d95 (patch)
tree9d52d21c67819d4e955dbecd9ac525baa4a48a19 /net
parente921e00d4ba6840063d69cb637331d0dc4905e4b (diff)
net/af-xdp.c: Don't leak sock_fds array in net_init_af_xdp()
In net_init_af_xdp() we parse the arguments and allocate a buffer of ints into sock_fds. However, although we free this in the error exit path, we don't ever free it in the successful return path. Coverity spots this leak. Switch to g_autofree so we don't need to manually free the array. Resolves: Coverity CID 1534906 Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-id: 20240312183810.557768-4-peter.maydell@linaro.org
Diffstat (limited to 'net')
-rw-r--r--net/af-xdp.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/af-xdp.c b/net/af-xdp.c
index 38e600703a..01c5fb914e 100644
--- a/net/af-xdp.c
+++ b/net/af-xdp.c
@@ -446,7 +446,7 @@ int net_init_af_xdp(const Netdev *netdev,
NetClientState *nc, *nc0 = NULL;
unsigned int ifindex;
uint32_t prog_id = 0;
- int *sock_fds = NULL;
+ g_autofree int *sock_fds = NULL;
int64_t i, queues;
Error *err = NULL;
AFXDPState *s;
@@ -516,7 +516,6 @@ int net_init_af_xdp(const Netdev *netdev,
return 0;
err:
- g_free(sock_fds);
if (nc0) {
qemu_del_net_client(nc0);
}