video: fbdev: sm501fb: fix potential null pointer dereference on fbi
authorColin Ian King <colin.king@canonical.com>
Fri, 17 Nov 2017 16:21:48 +0000 (17:21 +0100)
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Fri, 17 Nov 2017 16:21:48 +0000 (17:21 +0100)
The pointer fbi is dereferenced with par = fbi->par before there is a
null check on fbi, hence there is a potential null pointer dereference
on a null par.  Fix this by moving the dereference after the null
pointer check.

Detected by CoverityScan, CID#1461301 ("Dereference before null check")

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
drivers/video/fbdev/sm501fb.c

index 8d4fdb37329974a2fd183f2df49f7a3a8ab73c53..6f0a19501c6a8d959e1f4a994e705934808d4c77 100644 (file)
@@ -2100,11 +2100,12 @@ static int sm501fb_suspend_fb(struct sm501fb_info *info,
                              enum sm501_controller head)
 {
        struct fb_info *fbi = info->fb[head];
-       struct sm501fb_par *par = fbi->par;
+       struct sm501fb_par *par;
 
        if (!fbi)
                return 0;
 
+       par = fbi->par;
        if (par->screen.size == 0)
                return 0;
 
@@ -2150,11 +2151,12 @@ static void sm501fb_resume_fb(struct sm501fb_info *info,
                              enum sm501_controller head)
 {
        struct fb_info *fbi = info->fb[head];
-       struct sm501fb_par *par = fbi->par;
+       struct sm501fb_par *par;
 
        if (!fbi)
                return;
 
+       par = fbi->par;
        if (par->screen.size == 0)
                return;