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
This commit is contained in:
parent
e921e00d4b
commit
bed150be5b
@ -446,7 +446,7 @@ int net_init_af_xdp(const Netdev *netdev,
|
|||||||
NetClientState *nc, *nc0 = NULL;
|
NetClientState *nc, *nc0 = NULL;
|
||||||
unsigned int ifindex;
|
unsigned int ifindex;
|
||||||
uint32_t prog_id = 0;
|
uint32_t prog_id = 0;
|
||||||
int *sock_fds = NULL;
|
g_autofree int *sock_fds = NULL;
|
||||||
int64_t i, queues;
|
int64_t i, queues;
|
||||||
Error *err = NULL;
|
Error *err = NULL;
|
||||||
AFXDPState *s;
|
AFXDPState *s;
|
||||||
@ -516,7 +516,6 @@ int net_init_af_xdp(const Netdev *netdev,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
g_free(sock_fds);
|
|
||||||
if (nc0) {
|
if (nc0) {
|
||||||
qemu_del_net_client(nc0);
|
qemu_del_net_client(nc0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user