aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJohn Levon <john.levon@nutanix.com>2021-02-16 16:16:44 +0000
committerGitHub <noreply@github.com>2021-02-16 16:16:44 +0000
commite4e0ebde2c25f3011d20b6a2f1b1b8f510b09d9e (patch)
tree206ba58f7fce607faad86d6c0869fe213a888c8b /lib
parentb4baf039588830dfd580a59e7d05efbc65cb6d03 (diff)
downloadlibvfio-user-e4e0ebde2c25f3011d20b6a2f1b1b8f510b09d9e.zip
libvfio-user-e4e0ebde2c25f3011d20b6a2f1b1b8f510b09d9e.tar.gz
libvfio-user-e4e0ebde2c25f3011d20b6a2f1b1b8f510b09d9e.tar.bz2
exec_command: free out structs on failure (#345)
Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/libvfio-user.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/libvfio-user.c b/lib/libvfio-user.c
index 0125cef..053a2d4 100644
--- a/lib/libvfio-user.c
+++ b/lib/libvfio-user.c
@@ -800,6 +800,8 @@ exec_command(vfu_ctx_t *vfu_ctx, struct vfio_user_header *hdr, size_t size,
_iovecs[1].iov_len = dev_info->argsz;
*iovecs = _iovecs;
*nr_iovecs = 2;
+ } else {
+ free(dev_info);
}
break;
@@ -830,6 +832,8 @@ exec_command(vfu_ctx_t *vfu_ctx, struct vfio_user_header *hdr, size_t size,
_iovecs[1].iov_len = sizeof *irq_info;
*iovecs = _iovecs;
*nr_iovecs = 2;
+ } else {
+ free(irq_info);
}
break;