drivers/video/sunxvr2500.c: fix error return code
authorJulia Lawall <Julia.Lawall@lip6.fr>
Sun, 19 Aug 2012 08:44:24 +0000 (10:44 +0200)
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
Thu, 23 Aug 2012 13:21:48 +0000 (13:21 +0000)
Initialize return variable before exiting on an error path.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
(
if@p1 (\(ret < 0\|ret != 0\))
 { ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1
    when != &ret
*if(...)
{
  ... when != ret = e2
      when forall
 return ret;
}

// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
drivers/video/sunxvr2500.c

index 5848436c19da294040fd3e5a9e652809b89b702b..7fbcba86d1a223c185069297b9a96033d70deded 100644 (file)
@@ -181,8 +181,10 @@ static int __devinit s3d_pci_register(struct pci_dev *pdev,
        sp->fb_size = info->fix.line_length * sp->height;
 
        sp->fb_base = ioremap(sp->fb_base_phys, sp->fb_size);
-       if (!sp->fb_base)
+       if (!sp->fb_base) {
+               err = -ENOMEM;
                goto err_release_pci;
+       }
 
        err = s3d_set_fbinfo(sp);
        if (err)