contrib/vhost-user-gpu/vhost-user-gpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Free in correct order to avoid use-after-free.
Resolves: CID 1453812
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
contrib/vhost-user-gpu/vhost-user-gpu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/vhost-user-gpu/vhost-user-gpu.c b/contrib/vhost-user-gpu/vhost-user-gpu.c
index 6dc6a44f4e26..611360e6b475 100644
--- a/contrib/vhost-user-gpu/vhost-user-gpu.c
+++ b/contrib/vhost-user-gpu/vhost-user-gpu.c
@@ -350,8 +350,8 @@ vg_resource_create_2d(VuGpu *g,
if (!res->image) {
g_critical("%s: resource creation failed %d %d %d",
__func__, c2d.resource_id, c2d.width, c2d.height);
- g_free(res);
vugbm_buffer_destroy(&res->buffer);
+ g_free(res);
cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY;
return;
}
--
2.31.1
On Fri, Jun 4, 2021 at 2:38 PM Gerd Hoffmann <kraxel@redhat.com> wrote:
> Free in correct order to avoid use-after-free.
>
> Resolves: CID 1453812
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
> contrib/vhost-user-gpu/vhost-user-gpu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/contrib/vhost-user-gpu/vhost-user-gpu.c
> b/contrib/vhost-user-gpu/vhost-user-gpu.c
> index 6dc6a44f4e26..611360e6b475 100644
> --- a/contrib/vhost-user-gpu/vhost-user-gpu.c
> +++ b/contrib/vhost-user-gpu/vhost-user-gpu.c
> @@ -350,8 +350,8 @@ vg_resource_create_2d(VuGpu *g,
> if (!res->image) {
> g_critical("%s: resource creation failed %d %d %d",
> __func__, c2d.resource_id, c2d.width, c2d.height);
> - g_free(res);
> vugbm_buffer_destroy(&res->buffer);
> + g_free(res);
> cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY;
> return;
> }
> --
> 2.31.1
>
>
>
--
Marc-André Lureau
Gerd Hoffmann <kraxel@redhat.com> 于2021年6月4日周五 下午6:37写道:
>
> Free in correct order to avoid use-after-free.
>
> Resolves: CID 1453812
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Sorry, my fault.
Reviewed-by: Li Qiang <liq3ea@gmail.com>
> ---
> contrib/vhost-user-gpu/vhost-user-gpu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/contrib/vhost-user-gpu/vhost-user-gpu.c b/contrib/vhost-user-gpu/vhost-user-gpu.c
> index 6dc6a44f4e26..611360e6b475 100644
> --- a/contrib/vhost-user-gpu/vhost-user-gpu.c
> +++ b/contrib/vhost-user-gpu/vhost-user-gpu.c
> @@ -350,8 +350,8 @@ vg_resource_create_2d(VuGpu *g,
> if (!res->image) {
> g_critical("%s: resource creation failed %d %d %d",
> __func__, c2d.resource_id, c2d.width, c2d.height);
> - g_free(res);
> vugbm_buffer_destroy(&res->buffer);
> + g_free(res);
> cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY;
> return;
> }
> --
> 2.31.1
>
>
On 6/4/21 12:37 PM, Gerd Hoffmann wrote: > Free in correct order to avoid use-after-free. > > Resolves: CID 1453812 > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > --- > contrib/vhost-user-gpu/vhost-user-gpu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
© 2016 - 2025 Red Hat, Inc.