b7b447fd4c
parseDWM() can advance the time to the next week. If the next week is in the next month, then tm_mon is incremented. However, the increment was failing to handle the wraparound from December to January, so when parsing a rule during the last week of the December, the month would advance to month 12. This triggered an out-of-bounds read of the mtab[] array in days_pmonth() after parseDWM() returned. To fix, this change resets the month to January and increment the year when the month increment wraps. The default rule for /var/log/weekly.log triggers this during the last week of December each year. Reported by: CHERI Obtained from: CheriBSD Reviewed by: jhb Sponsored by: The University of Cambridge, Google Inc. Differential Revision: <https://reviews.freebsd.org/D33687> |
||
---|---|---|
.. | ||
newsyslog.conf.d | ||
tests | ||
extern.h | ||
Makefile | ||
Makefile.depend | ||
newsyslog.8 | ||
newsyslog.c | ||
newsyslog.conf | ||
newsyslog.conf.5 | ||
pathnames.h | ||
ptimes.c |