DF-0216 / fix.diff
diff --git a/sys/kern/kern_collect.c b/sys/kern/kern_collect.c --- a/sys/kern/kern_collect.c +++ b/sys/kern/kern_collect.c @@ -244,7 +244,8 @@ */ i = start; while (count) { - if (req->oldlen - req->oldidx < sizeof(kcollect_t)) + if (req->oldlen < req->oldidx || + req->oldlen - req->oldidx < sizeof(kcollect_t)) break; if (i == 0) i = kcollect_samples - 1; |