• J
    drivers/video/bf537-lq035.c: Add missing IS_ERR test · 5dc1365c
    Julia Lawall 提交于
    lcd_device_register may return ERR_PTR, so a check is added for this value
    before the dereference.  All of the other changes reorganize the error
    handling code in this function to avoid duplicating all of it in the added
    case.
    
    In the original code, in one case, the global variable fb_buffer was set to
    NULL in error code that appears after this variable is initialized.  This
    is done now in all error handling code that has this property.
    
    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @r@
    identifier f;
    @@
    f(...) { ... return ERR_PTR(...); }
    
    @@
    identifier r.f, fld;
    expression x;
    statement S1,S2;
    @@
     x = f(...)
     ... when != IS_ERR(x)
    (
     if (IS_ERR(x) ||...) S1 else S2
    |
    *x->fld
    )
    // </smpl>
    Signed-off-by: NJulia Lawall <julia@diku.dk>
    Acked-by: NMike Frysinger <vapier@gentoo.org>
    Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
    5dc1365c
bf537-lq035.c 22.1 KB