DragonFlyBSD Kernel Audit
DF-0132 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/kern/kern_sensors.c b/sys/kern/kern_sensors.c
--- a/sys/kern/kern_sensors.c
+++ b/sys/kern/kern_sensors.c
@@ -136,6 +136,10 @@
 			sens->numt = 0;
 		SLIST_INSERT_AFTER(v, sens, list);
 	}
+	if (sens->type < 0 || sens->type >= SENSOR_MAX_TYPES) {
+		SYSCTL_XUNLOCK();
+		return;
+	}
 	/*
 	 * We only increment maxnumt[] if the sensor was added
 	 * to the last position of sensors of this type