[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] libvhost-user: Zero memory allocated for VuVirtqInflightDesc
From: |
elohimes |
Subject: |
[PATCH] libvhost-user: Zero memory allocated for VuVirtqInflightDesc |
Date: |
Tue, 19 Nov 2019 11:48:51 +0800 |
From: Xie Yongji <address@hidden>
Use a zero-initialized VuVirtqInflightDesc struct to avoid
that scan-build reports that vq->resubmit_list[0].counter may
be garbage value in vu_check_queue_inflights().
Fixes: 5f9ff1eff ("libvhost-user: Support tracking inflight I/O in
shared memory")
Reported-by: Marc-André Lureau <address@hidden>
Signed-off-by: Xie Yongji <address@hidden>
---
contrib/libvhost-user/libvhost-user.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/contrib/libvhost-user/libvhost-user.c
b/contrib/libvhost-user/libvhost-user.c
index 68c27136ae..e76d6e9920 100644
--- a/contrib/libvhost-user/libvhost-user.c
+++ b/contrib/libvhost-user/libvhost-user.c
@@ -992,7 +992,7 @@ vu_check_queue_inflights(VuDev *dev, VuVirtq *vq)
vq->shadow_avail_idx = vq->last_avail_idx = vq->inuse + vq->used_idx;
if (vq->inuse) {
- vq->resubmit_list = malloc(sizeof(VuVirtqInflightDesc) * vq->inuse);
+ vq->resubmit_list = g_malloc0(sizeof(VuVirtqInflightDesc) * vq->inuse);
if (!vq->resubmit_list) {
return -1;
}
@@ -1605,10 +1605,8 @@ vu_deinit(VuDev *dev)
vq->err_fd = -1;
}
- if (vq->resubmit_list) {
- free(vq->resubmit_list);
- vq->resubmit_list = NULL;
- }
+ g_free(vq->resubmit_list);
+ vq->resubmit_list = NULL;
vq->inflight = NULL;
}
@@ -2263,7 +2261,7 @@ vu_queue_pop(VuDev *dev, VuVirtq *vq, size_t sz)
elem = vu_queue_map_desc(dev, vq, vq->resubmit_list[i].index, sz);
if (!vq->resubmit_num) {
- free(vq->resubmit_list);
+ g_free(vq->resubmit_list);
vq->resubmit_list = NULL;
}
--
2.17.1
- [PATCH] libvhost-user: Zero memory allocated for VuVirtqInflightDesc,
elohimes <=