viafb: NULL dereference on allocation failure in query_edid()
Subsystems (2)
PATCH 1/1 viafb: NULL dereference on allocation failure in query_edid()
We should handle the allocation here, if only to keep the static checkers happy.
Signed-off-by Dan Carpenter <[email protected]>
drivers/video/via/via_aux_edid.c +5 -2
@@ -36,10 +36,13 @@ static void query_edid(struct via_aux_drv *drv)unsigned char edid[EDID_LENGTH ];bool valid = false; -if (spec) +if (spec) {fb_destroy_modedb (spec->modedb); -else + }else { spec =kmalloc (sizeof (*spec),GFP_KERNEL ); +if (!spec) +return ; + } spec->version = spec->revision =0 ;if (via_aux_read (drv,0x00 , edid,EDID_LENGTH )) {
Quoted 4 lines · Dan Carpenter
We should handle the allocation here, if only to keep the static checkers happy.
Signed-off-by Dan Carpenter <[email protected]>
Ah, thanks for noticing it and sorry that I introduced it in the first place. Applied.
Thanks,
Florian Tobias Schandinat
Quoted 22 lines
drivers/video/via/via_aux_edid.c +5
-2@@ -36,10 +36,13 @@ static void query_edid(struct via_aux_drv *drv)unsigned char edid[EDID_LENGTH ];bool valid = false; -if (spec) +if (spec) {fb_destroy_modedb (spec->modedb); -else + }else { spec =kmalloc (sizeof (*spec),GFP_KERNEL ); +if (!spec) +return ; + } spec->version = spec->revision =0 ;if (via_aux_read (drv,0x00 , edid,EDID_LENGTH )) {