⬢ DragonFlyBSD Kernel Audit
DF-2960 / fix.diff
← back to finding ↓ download raw
--- a/sys/kern/kern_collect.c	2026-06-29 12:51:19.000000000 +0000
+++ b/sys/kern/kern_collect.c	2026-10-26 00:25:42.789042927 +0000
@@ -69,6 +69,7 @@
 	&kcollect_samples, 0, "number of 10-second samples");
 
 static uint64_t kcollect_index;
+static char kcollect_ids[KCOLLECT_ENTRIES][16];
 static const char *kcollect_slots[KCOLLECT_ENTRIES];
 static kcallback_t kcollect_callback[KCOLLECT_ENTRIES];
 static kcollect_t kcollect_scale;
@@ -94,7 +95,8 @@
 	if (n < 0 || n >= KCOLLECT_ENTRIES) {
 		n = -1;
 	} else {
-		kcollect_slots[n] = id;
+		strlcpy(kcollect_ids[n], id, sizeof(kcollect_ids[n]));
+		kcollect_slots[n] = kcollect_ids[n];
 		kcollect_callback[n] = func;
 		kcollect_scale.data[n] = scale;
 	}