virtio-gpu: move iov free to virtio_gpu_cleanup_mapping_iov
For symmetry reasons: virtio_gpu_create_mapping_iov() allocates it so virtio_gpu_cleanup_mapping_iov() should free it, otherwise it's easy to miss a free() needed and leak memory. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
parent
06020b950c
commit
7f3be0f20f
@ -563,7 +563,6 @@ int virtio_gpu_create_mapping_iov(struct virtio_gpu_resource_attach_backing *ab,
|
||||
__func__, ab->resource_id, i);
|
||||
virtio_gpu_cleanup_mapping_iov(*iov, i);
|
||||
g_free(ents);
|
||||
g_free(*iov);
|
||||
*iov = NULL;
|
||||
return -1;
|
||||
}
|
||||
@ -580,12 +579,12 @@ void virtio_gpu_cleanup_mapping_iov(struct iovec *iov, uint32_t count)
|
||||
cpu_physical_memory_unmap(iov[i].iov_base, iov[i].iov_len, 1,
|
||||
iov[i].iov_len);
|
||||
}
|
||||
g_free(iov);
|
||||
}
|
||||
|
||||
static void virtio_gpu_cleanup_mapping(struct virtio_gpu_simple_resource *res)
|
||||
{
|
||||
virtio_gpu_cleanup_mapping_iov(res->iov, res->iov_cnt);
|
||||
g_free(res->iov);
|
||||
res->iov = NULL;
|
||||
res->iov_cnt = 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user