lkml.org 
[lkml]   [2008]   [Nov]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] drivers/video: Bad error test before a dereference
Julien Brunel :
> The error test that follows the call to backlight_device_register
> semms not to concern the right variable.
>
> A simplified version of the semantic match that finds this problem is
> as follows:
> (http://www.emn.fr/x-info/coccinelle/)
> // <smpl>
> @def0@
> expression x;
> position p0;
> @@
> x@p0 = backlight_device_register(...)
>
> @protected@
> expression def0.x,E;
> position def0.p0;
> position p;
> statement S;
> @@
> x@p0
> ... when != x = E
> if (!IS_ERR(x) && ...) {<... x@p ...>} else S
>
> @unprotected@
> expression def0.x;
> identifier fld;
> position def0.p0;
> position p != protected.p;
> @@
> x@p0
> ... when != x = E
> * x@p->fld
> // </smpl>
>
> Signed-off-by: Julien Brunel <brunel@diku.dk>
> Signed-off-by: Julia Lawall <julia@diku.dk>

Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>

>
> ---
> drivers/video/atmel_lcdfb.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff -u -p a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
> --- a/drivers/video/atmel_lcdfb.c
> +++ b/drivers/video/atmel_lcdfb.c
> @@ -132,7 +132,7 @@ static void init_backlight(struct atmel_
>
> bl = backlight_device_register("backlight", &sinfo->pdev->dev,
> sinfo, &atmel_lcdc_bl_ops);
> - if (IS_ERR(sinfo->backlight)) {
> + if (IS_ERR(bl)) {
> dev_err(&sinfo->pdev->dev, "error %ld on backlight register\n",
> PTR_ERR(bl));
> return;
>

Thanks, regards,
--
Nicolas Ferre



\
 
 \ /
  Last update: 2008-11-06 16:37    [W:0.077 / U:0.308 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site