DF-2960 / fix.diff
--- 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; } |