diff options
author | Thanos Makatos <thanos.makatos@nutanix.com> | 2021-01-25 16:55:10 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-25 16:55:10 +0000 |
commit | ed80aab4f188863c6414d0c7a15daeba3ff243d2 (patch) | |
tree | 689322476e60afed4a32fbbdc4f57673ed7d42fa /samples/client.c | |
parent | 3792f9cbc3f9a200e7d6d54f97fac3b74cbf8398 (diff) | |
download | libvfio-user-ed80aab4f188863c6414d0c7a15daeba3ff243d2.zip libvfio-user-ed80aab4f188863c6414d0c7a15daeba3ff243d2.tar.gz libvfio-user-ed80aab4f188863c6414d0c7a15daeba3ff243d2.tar.bz2 |
don't use uninitialized memory (#244)
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
Diffstat (limited to 'samples/client.c')
-rw-r--r-- | samples/client.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/samples/client.c b/samples/client.c index dbff008..c026329 100644 --- a/samples/client.c +++ b/samples/client.c @@ -265,10 +265,12 @@ get_device_region_info(int sock, uint32_t index) struct vfio_region_info *region_info; size_t cap_sz; size_t size = sizeof(struct vfio_region_info); - size_t nr_fds = CLIENT_MAX_FDS; - int fds[nr_fds]; + int fds[CLIENT_MAX_FDS] = { 0 }; + size_t nr_fds = ARRAY_SIZE(fds); + region_info = alloca(size); + memset(region_info, 0, size); region_info->argsz = size; region_info->index = index; @@ -276,6 +278,7 @@ get_device_region_info(int sock, uint32_t index) if (region_info->argsz > size) { size = region_info->size; region_info = alloca(size); + memset(region_info, 0, size); region_info->argsz = size; region_info->index = index; do_get_device_region_info(sock, region_info, fds, &nr_fds); @@ -657,8 +660,8 @@ static void get_dirty_bitmaps(int sock, struct vfio_user_dma_region *dma_regions, UNUSED int nr_dma_regions) { - struct vfio_iommu_type1_dirty_bitmap dirty_bitmap = {0}; - struct vfio_iommu_type1_dirty_bitmap_get bitmaps[2]; + struct vfio_iommu_type1_dirty_bitmap dirty_bitmap = { 0 }; + struct vfio_iommu_type1_dirty_bitmap_get bitmaps[2] = { { 0 }, }; int ret; size_t i; struct iovec iovecs[4] = { |