On Fri, 30 Oct 2020 at 14:29, Peter Maydell <peter.mayd...@linaro.org> wrote: > > On Fri, 30 Oct 2020 at 10:23, AlexChen <alex.c...@huawei.com> wrote: > > > > In omap_lcd_interrupts(), the pointer omap_lcd is dereferenced before > > being check if it is valid, which may lead to NULL pointer dereference. > > So move the assignment to surface after checking that the omap_lcd is valid. > > > > Reported-by: Euler Robot <euler.ro...@huawei.com> > > Signed-off-by: Alex Chen <alex.c...@huawei.com> > > --- > > hw/display/omap_lcdc.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-)
> Applied to target-arm.next, thanks. Whoops, spoke too soon. This doesn't compile: ../../hw/display/omap_lcdc.c: In function ‘omap_update_display’: ../../hw/display/omap_lcdc.c:88:10: error: ‘surface’ may be used uninitialized in this function [-Werror=maybe-uninitialized] !surface_bits_per_pixel(surface)) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ because the early exit check if (!omap_lcd || omap_lcd->plm == 1 || !omap_lcd->enable || !surface_bits_per_pixel(surface)) { return; } uses 'surface' and this patch moves the initialization of that variable down below its first use. thanks -- PMM