xorg-x11-server/edid_data_sanity_check.diff

22 lines
945 B
Diff
Raw Normal View History

Index: xorg-server-1.6.3.901/hw/xfree86/modes/xf86Crtc.c
================================================================================
--- xorg-server-1.7.99/hw/xfree86/modes/xf86Crtc.c
+++ xorg-server-1.7.99/hw/xfree86/modes/xf86Crtc.c
@@ -2916,8 +2916,14 @@
p->output->MonInfo->features.vsize);
if (det_mon->type == DT &&
det_mon->section.d_timings.h_size != 0 &&
- det_mon->section.d_timings.v_size != 0) {
-
+ det_mon->section.d_timings.v_size != 0 &&
+ det_mon->section.d_timings.v_size != 0 &&
+ /* some sanity checking for aspect ration */
+ ((det_mon->section.d_timings.h_size /
+ det_mon->section.d_timings.v_size) < 2) &&
+ ((det_mon->section.d_timings.v_size /
+ det_mon->section.d_timings.h_size) < 2)
+ ) {
p->output->mm_width = det_mon->section.d_timings.h_size;
p->output->mm_height = det_mon->section.d_timings.v_size;
p->ret = TRUE;