aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/video/fbdev/core
diff options
context:
space:
mode:
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>2015-02-12 21:17:36 +0530
committerTomi Valkeinen <tomi.valkeinen@ti.com>2015-02-26 10:23:15 +0200
commitd746b40c64619f5064ebbe545938062481ef5183 (patch)
treed5365d93c9d59752dcdf92807220034c0f9e0e37 /drivers/video/fbdev/core
parentvideo: ARM CLCD: Add missing error check for devm_kzalloc (diff)
downloadwireguard-linux-d746b40c64619f5064ebbe545938062481ef5183.tar.xz
wireguard-linux-d746b40c64619f5064ebbe545938062481ef5183.zip
video: fbdev: fix possible null dereference
we were dereferencing edid first and the NULL check was after accessing that. now we are using edid only if we know that it is not NULL. Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/fbdev/core')
-rw-r--r--drivers/video/fbdev/core/fbmon.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/video/fbdev/core/fbmon.c b/drivers/video/fbdev/core/fbmon.c
index 95338593ebf4..868facdec638 100644
--- a/drivers/video/fbdev/core/fbmon.c
+++ b/drivers/video/fbdev/core/fbmon.c
@@ -624,9 +624,6 @@ static struct fb_videomode *fb_create_modedb(unsigned char *edid, int *dbsize,
int num = 0, i, first = 1;
int ver, rev;
- ver = edid[EDID_STRUCT_VERSION];
- rev = edid[EDID_STRUCT_REVISION];
-
mode = kzalloc(50 * sizeof(struct fb_videomode), GFP_KERNEL);
if (mode == NULL)
return NULL;
@@ -637,6 +634,9 @@ static struct fb_videomode *fb_create_modedb(unsigned char *edid, int *dbsize,
return NULL;
}
+ ver = edid[EDID_STRUCT_VERSION];
+ rev = edid[EDID_STRUCT_REVISION];
+
*dbsize = 0;
DPRINTK(" Detailed Timings\n");