diff --git a/usr.sbin/newsyslog/newsyslog.c b/usr.sbin/newsyslog/newsyslog.c index c45c89f0f727..e454d6e398ed 100644 --- a/usr.sbin/newsyslog/newsyslog.c +++ b/usr.sbin/newsyslog/newsyslog.c @@ -105,7 +105,7 @@ __FBSDID("$FreeBSD$"); #define COMPRESS_SUFFIX_ZST ".zst" #endif -#define COMPRESS_SUFFIX_MAXLEN MAX(MAX(sizeof(COMPRESS_SUFFIX_GZ),sizeof(COMPRESS_SUFFIX_BZ2)),sizeof(COMPRESS_SUFFIX_XZ)) +#define COMPRESS_SUFFIX_MAXLEN MAX(MAX(MAX(sizeof(COMPRESS_SUFFIX_GZ),sizeof(COMPRESS_SUFFIX_BZ2)),sizeof(COMPRESS_SUFFIX_XZ)),sizeof(COMPRESS_SUFFIX_ZST)) /* * Compression types @@ -2027,7 +2027,7 @@ do_zipwork(struct zipwork_entry *zwork) char zresult[MAXPATHLEN]; char command[BUFSIZ]; char **args; - int c; + int c, i; assert(zwork != NULL); pgm_path = NULL; @@ -2043,10 +2043,10 @@ do_zipwork(struct zipwork_entry *zwork) (void) strlcat(zresult, compress_type[c].suffix, sizeof(zresult)); /* the first argument is always NULL, skip it */ - for (c = 1; c < ARGS_NUM; c++) { - if (compress_type[c].args[c] == NULL) + for (i = 1; i < ARGS_NUM; i++) { + if (compress_type[c].args[i] == NULL) break; - args[c] = compress_type[c].args[c]; + args[i] = compress_type[c].args[i]; } break; } diff --git a/usr.sbin/newsyslog/tests/legacy_test.sh b/usr.sbin/newsyslog/tests/legacy_test.sh index 24791ecda256..97f3821c3e22 100644 --- a/usr.sbin/newsyslog/tests/legacy_test.sh +++ b/usr.sbin/newsyslog/tests/legacy_test.sh @@ -498,6 +498,12 @@ tests_normal_rotate ".gz" echo "$LOGFPATH 640 3 * @T00 NCJ" > newsyslog.conf tests_normal_rotate ".bz2" +echo "$LOGFPATH 640 3 * @T00 NCX" > newsyslog.conf +tests_normal_rotate ".xz" + +echo "$LOGFPATH 640 3 * @T00 NCY" > newsyslog.conf +tests_normal_rotate ".zst" + # Normal, archive dir echo "$LOGFPATH 640 3 * @T00 NC" > newsyslog.conf tests_normal_rotate "" "${TMPDIR}/alog/" @@ -508,6 +514,12 @@ tests_normal_rotate ".gz" "${TMPDIR}/alog/" echo "$LOGFPATH 640 3 * @T00 NCJ" > newsyslog.conf tests_normal_rotate ".bz2" "${TMPDIR}/alog/" +echo "$LOGFPATH 640 3 * @T00 NCX" > newsyslog.conf +tests_normal_rotate ".xz" "${TMPDIR}/alog/" + +echo "$LOGFPATH 640 3 * @T00 NCY" > newsyslog.conf +tests_normal_rotate ".zst" "${TMPDIR}/alog/" + # Time based, no archive dir echo "$LOGFPATH 640 3 * @T00 NC" > newsyslog.conf tests_time_rotate @@ -518,6 +530,12 @@ tests_time_rotate "gz" "" echo "$LOGFPATH 640 3 * @T00 NCJ" > newsyslog.conf tests_time_rotate "bz2" "" +echo "$LOGFPATH 640 3 * @T00 NCX" > newsyslog.conf +tests_time_rotate "xz" "" + +echo "$LOGFPATH 640 3 * @T00 NCY" > newsyslog.conf +tests_time_rotate "zst" "" + # Time based, archive dir echo "$LOGFPATH 640 3 * @T00 NC" > newsyslog.conf tests_time_rotate "" "${TMPDIR}/alog/" @@ -528,6 +546,12 @@ tests_time_rotate "gz" "${TMPDIR}/alog/" echo "$LOGFPATH 640 3 * @T00 NCJ" > newsyslog.conf tests_time_rotate "bz2" "${TMPDIR}/alog/" +echo "$LOGFPATH 640 3 * @T00 NCX" > newsyslog.conf +tests_time_rotate "xz" "${TMPDIR}/alog/" + +echo "$LOGFPATH 640 3 * @T00 NCY" > newsyslog.conf +tests_time_rotate "zst" "${TMPDIR}/alog/" + # RFC-5424; Normal, no archive dir echo "$LOGFPATH5424 640 3 * @T00 NCT" > newsyslog.conf echo "$LOGFPATH 640 3 * @T00 NC" >> newsyslog.conf