File edit_data_sanity_check.diff of Package xorg-x11-server

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index d375da8..aead061 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -2097,7 +2097,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;
openSUSE Build Service is sponsored by