svn commit: r305427 - in releng/11.0/usr.sbin/cron: cron crontab

Ed Maste emaste at FreeBSD.org
Mon Sep 5 16:43:59 UTC 2016


Author: emaste
Date: Mon Sep  5 16:43:57 2016
New Revision: 305427
URL: https://svnweb.freebsd.org/changeset/base/305427

Log:
  MFS r305423: cron: use existing maximum username constant MAXLOGNAME
  
  Previously cron had its own maximum username length limit, which was
  smaller than the system's MAXLOGNAME. This could lead to crontab -u
  updating the wrong user's crontab (if the name was truncated, and
  matched another user).
  
  PR:		212305
  Reported by:	Andrii Kuzik
  Approved by:	re (kib)
  MFH:		r305269

Modified:
  releng/11.0/usr.sbin/cron/cron/cron.h
  releng/11.0/usr.sbin/cron/crontab/crontab.c
Directory Properties:
  releng/11.0/   (props changed)

Modified: releng/11.0/usr.sbin/cron/cron/cron.h
==============================================================================
--- releng/11.0/usr.sbin/cron/cron/cron.h	Mon Sep  5 16:06:52 2016	(r305426)
+++ releng/11.0/usr.sbin/cron/cron/cron.h	Mon Sep  5 16:43:57 2016	(r305427)
@@ -73,7 +73,6 @@
 #define	MAX_COMMAND	1000	/* max length of internally generated cmd */
 #define	MAX_ENVSTR	1000	/* max length of envvar=value\0 strings */
 #define	MAX_TEMPSTR	100	/* obvious */
-#define	MAX_UNAME	20	/* max length of username, should be overkill */
 #define	ROOT_UID	0	/* don't change this, it really must be root */
 #define	ROOT_USER	"root"	/* ditto */
 #define	SYS_NAME	"*system*" /* magic owner name for system crontab */

Modified: releng/11.0/usr.sbin/cron/crontab/crontab.c
==============================================================================
--- releng/11.0/usr.sbin/cron/crontab/crontab.c	Mon Sep  5 16:06:52 2016	(r305426)
+++ releng/11.0/usr.sbin/cron/crontab/crontab.c	Mon Sep  5 16:43:57 2016	(r305427)
@@ -28,6 +28,7 @@ static const char rcsid[] =
 
 #define	MAIN_PROGRAM
 
+#include <sys/param.h>
 #include "cron.h"
 #include <errno.h>
 #include <fcntl.h>
@@ -57,7 +58,7 @@ static char	*Options[] = { "???", "list"
 
 
 static	PID_T		Pid;
-static	char		User[MAX_UNAME], RealUser[MAX_UNAME];
+static	char		User[MAXLOGNAME], RealUser[MAXLOGNAME];
 static	char		Filename[MAX_FNAME];
 static	FILE		*NewCrontab;
 static	int		CheckErrorCount;


More information about the svn-src-all mailing list