drm: Check if the allocation has succeeded before dereferencing newmode
authorDamien Lespiau <[email protected]>
Mon, 3 Mar 2014 23:59:07 +0000 (23:59 +0000)
committerDaniel Vetter <[email protected]>
Mon, 17 Mar 2014 10:23:07 +0000 (11:23 +0100)
We allocate memory in drm_display_mode_from_vic_index() and use it
without checking the pointer is valid. Fix that.

Signed-off-by: Damien Lespiau <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Daniel Vetter <[email protected]>
drivers/gpu/drm/drm_edid.c

index f8d8a1de9573cf4319a4764b507dfa4d3d9bd516..f3cde90c1d98fd9a602079082b9ac3b2d10fff8f 100644 (file)
@@ -2580,6 +2580,9 @@ drm_display_mode_from_vic_index(struct drm_connector *connector,
                return NULL;
 
        newmode = drm_mode_duplicate(dev, &edid_cea_modes[cea_mode]);
+       if (!newmode)
+               return NULL;
+
        newmode->vrefresh = 0;
 
        return newmode;