vhost: Fix element in vhost_svq_add failure
Coverity rightly reports that is not free in that case.
Fixes: Coverity CID 1487559
Fixes: 100890f7ca
("vhost: Shadow virtqueue buffers forwarding")
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20220512175747.142058-7-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
d792199de5
commit
5181db132b
@ -199,11 +199,19 @@ static bool vhost_svq_add_split(VhostShadowVirtqueue *svq,
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an element to a SVQ.
|
||||
*
|
||||
* The caller must check that there is enough slots for the new element. It
|
||||
* takes ownership of the element: In case of failure, it is free and the SVQ
|
||||
* is considered broken.
|
||||
*/
|
||||
static bool vhost_svq_add(VhostShadowVirtqueue *svq, VirtQueueElement *elem)
|
||||
{
|
||||
unsigned qemu_head;
|
||||
bool ok = vhost_svq_add_split(svq, elem, &qemu_head);
|
||||
if (unlikely(!ok)) {
|
||||
g_free(elem);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user