EDID related device region info is leaked in vfio_display_edid_init()
error path and VFIODisplay destroying path.
Fixes: 08479114b0de ("vfio/display: add edid support.")
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
---
hw/vfio/display.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hw/vfio/display.c b/hw/vfio/display.c
index 661e921616..9c57fd3888 100644
--- a/hw/vfio/display.c
+++ b/hw/vfio/display.c
@@ -171,7 +171,9 @@ static void vfio_display_edid_init(VFIOPCIDevice *vdev)
err:
trace_vfio_display_edid_write_error();
+ g_free(dpy->edid_info);
g_free(dpy->edid_regs);
+ dpy->edid_info = NULL;
dpy->edid_regs = NULL;
return;
}
@@ -182,6 +184,7 @@ static void vfio_display_edid_exit(VFIODisplay *dpy)
return;
}
+ g_free(dpy->edid_info);
g_free(dpy->edid_regs);
g_free(dpy->edid_blob);
timer_free(dpy->edid_link_timer);
--
2.34.1
On 7/1/24 3:48 AM, Zhenzhong Duan wrote: > EDID related device region info is leaked in vfio_display_edid_init() > error path and VFIODisplay destroying path. > > Fixes: 08479114b0de ("vfio/display: add edid support.") > Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Thanks, C. > --- > hw/vfio/display.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/hw/vfio/display.c b/hw/vfio/display.c > index 661e921616..9c57fd3888 100644 > --- a/hw/vfio/display.c > +++ b/hw/vfio/display.c > @@ -171,7 +171,9 @@ static void vfio_display_edid_init(VFIOPCIDevice *vdev) > > err: > trace_vfio_display_edid_write_error(); > + g_free(dpy->edid_info); > g_free(dpy->edid_regs); > + dpy->edid_info = NULL; > dpy->edid_regs = NULL; > return; > } > @@ -182,6 +184,7 @@ static void vfio_display_edid_exit(VFIODisplay *dpy) > return; > } > > + g_free(dpy->edid_info); > g_free(dpy->edid_regs); > g_free(dpy->edid_blob); > timer_free(dpy->edid_link_timer);
On Mon, Jul 1, 2024 at 5:51 AM Zhenzhong Duan <zhenzhong.duan@intel.com> wrote: > EDID related device region info is leaked in vfio_display_edid_init() > error path and VFIODisplay destroying path. > > Fixes: 08479114b0de ("vfio/display: add edid support.") > Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> > Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > hw/vfio/display.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/hw/vfio/display.c b/hw/vfio/display.c > index 661e921616..9c57fd3888 100644 > --- a/hw/vfio/display.c > +++ b/hw/vfio/display.c > @@ -171,7 +171,9 @@ static void vfio_display_edid_init(VFIOPCIDevice *vdev) > > err: > trace_vfio_display_edid_write_error(); > + g_free(dpy->edid_info); > g_free(dpy->edid_regs); > + dpy->edid_info = NULL; > dpy->edid_regs = NULL; > return; > } > @@ -182,6 +184,7 @@ static void vfio_display_edid_exit(VFIODisplay *dpy) > return; > } > > + g_free(dpy->edid_info); > g_free(dpy->edid_regs); > g_free(dpy->edid_blob); > timer_free(dpy->edid_link_timer); > -- > 2.34.1 > > > -- Marc-André Lureau
© 2016 - 2024 Red Hat, Inc.