Commit 7f3be0f2 authored by Gerd Hoffmann's avatar Gerd Hoffmann
Browse files

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: default avatarGerd Hoffmann <kraxel@redhat.com>
Reviewed-by: default avatarMax Reitz <mreitz@redhat.com>
parent 06020b95
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -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;
}