DragonFlyBSD Kernel Audit
DF-2004 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/acpica/acpi_timer.c b/sys/dev/acpica/acpi_timer.c
--- a/sys/dev/acpica/acpi_timer.c
+++ b/sys/dev/acpica/acpi_timer.c
@@ -317,8 +317,11 @@
 	return (EOPNOTSUPP);
     freq = acpi_cputimer.freq;
     error = sysctl_handle_int(oidp, &freq, 0, req);
-    if (error == 0 && req->newptr != NULL)
+    if (error == 0 && req->newptr != NULL) {
+	if (freq == 0)
+	    return (EINVAL);
 	cputimer_set_frequency(&acpi_cputimer, freq);
+    }
 
     return (error);
 }