Skip to content

Commit

Permalink
net/af-xdp.c: Don't leak sock_fds array in net_init_af_xdp()
Browse files Browse the repository at this point in the history
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
  • Loading branch information
pm215 committed Mar 25, 2024
1 parent e921e00 commit bed150b
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions net/af-xdp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
}
Expand Down

0 comments on commit bed150b

Please sign in to comment.