DragonFlyBSD Kernel Audit
DF-1225 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/i915/intel_ddi.c b/sys/dev/drm/i915/intel_ddi.c
--- a/sys/dev/drm/i915/intel_ddi.c
+++ b/sys/dev/drm/i915/intel_ddi.c
@@ -889,6 +889,7 @@
 			return icl_combo_phy_ddi_translations_edp_1_05V;
 		default:
 			MISSING_CASE(voltage);
+			*n_entries = 0;
 			return NULL;
 		}
 	} else {
@@ -904,6 +905,7 @@
 			return icl_combo_phy_ddi_translations_dp_hdmi_1_05V;
 		default:
 			MISSING_CASE(voltage);
+			*n_entries = 0;
 			return NULL;
 		}
 	}
@@ -1300,6 +1302,8 @@
 	n = (wrpll & WRPLL_DIVIDER_FB_MASK) >> WRPLL_DIVIDER_FB_SHIFT;
 
 	/* Convert to KHz, p & r have a fixed point portion */
+	if (p == 0 || r == 0)
+		return 0;
 	return (refclk * n * 100) / (p * r);
 }