Index: xorg-server-1.6.3.901/hw/xfree86/modes/xf86Crtc.c =================================================================== --- xorg-server-1.6.3.901.orig/hw/xfree86/modes/xf86Crtc.c +++ xorg-server-1.6.3.901/hw/xfree86/modes/xf86Crtc.c @@ -2800,7 +2800,13 @@ xf86OutputSetEDID (xf86OutputPtr output, for (i = 0; i < 4; i++) { if (edid_mon->det_mon[i].type == DT && edid_mon->det_mon[i].section.d_timings.h_size != 0 && - edid_mon->det_mon[i].section.d_timings.v_size != 0) + edid_mon->det_mon[i].section.d_timings.v_size != 0 && + /* some sanity checking for aspect ration */ + ((edid_mon->det_mon[i].section.d_timings.h_size / + edid_mon->det_mon[i].section.d_timings.v_size) < 2) && + ((edid_mon->det_mon[i].section.d_timings.v_size / + edid_mon->det_mon[i].section.d_timings.h_size) < 2) + ) { output->mm_width = edid_mon->det_mon[i].section.d_timings.h_size; output->mm_height = edid_mon->det_mon[i].section.d_timings.v_size;