[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] hw/display/omap_lcdc: Fix potential NULL pointer dereference
From: |
Peter Maydell |
Subject: |
Re: [PATCH] hw/display/omap_lcdc: Fix potential NULL pointer dereference |
Date: |
Fri, 30 Oct 2020 14:35:37 +0000 |
On Fri, 30 Oct 2020 at 14:29, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Fri, 30 Oct 2020 at 10:23, AlexChen <alex.chen@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.robot@huawei.com>
> > Signed-off-by: Alex Chen <alex.chen@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