mirror of
https://github.com/qemu/qemu.git
synced 2026-02-04 02:24:51 +00:00
gtk: Skip drawing if console surface is NULL
In gtk draw/render callbacks, add an early NULL check for the console surface and skip drawing if it's NULL. Otherwise, attempting to fetch its width and height crash. This change fixes Coverity CID 1610328. In practice, this case wouldn't happen at all because we always install a placeholder surface to the console when there is nothing to display. Resolves: Coverity CID 1610328 Signed-off-by: Weifeng Liu <weifeng.liu.z@gmail.com> Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20250714141758.10062-1-weifeng.liu.z@gmail.com>
This commit is contained in:
committed by
Marc-André Lureau
parent
9b16edec6e
commit
e01b61963f
@@ -72,7 +72,7 @@ void gd_egl_draw(VirtualConsole *vc)
|
||||
#endif
|
||||
int ww, wh, pw, ph, gs;
|
||||
|
||||
if (!vc->gfx.gls) {
|
||||
if (!vc->gfx.gls || !vc->gfx.ds) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -112,9 +112,6 @@ void gd_egl_draw(VirtualConsole *vc)
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
if (!vc->gfx.ds) {
|
||||
return;
|
||||
}
|
||||
eglMakeCurrent(qemu_egl_display, vc->gfx.esurface,
|
||||
vc->gfx.esurface, vc->gfx.ectx);
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ void gd_gl_area_draw(VirtualConsole *vc)
|
||||
int fbw, fbh;
|
||||
int wx_offset, wy_offset;
|
||||
|
||||
if (!vc->gfx.gls) {
|
||||
if (!vc->gfx.gls || !vc->gfx.ds) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -135,9 +135,6 @@ void gd_gl_area_draw(VirtualConsole *vc)
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
if (!vc->gfx.ds) {
|
||||
return;
|
||||
}
|
||||
gtk_gl_area_make_current(GTK_GL_AREA(vc->gfx.drawing_area));
|
||||
|
||||
surface_gl_setup_viewport(vc->gfx.gls, vc->gfx.ds, pw, ph);
|
||||
|
||||
Reference in New Issue
Block a user