summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--man/sysusers.d.xml2
-rw-r--r--src/sysusers/sysusers.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/man/sysusers.d.xml b/man/sysusers.d.xml
index 549b3f6351..40f8715bc0 100644
--- a/man/sysusers.d.xml
+++ b/man/sysusers.d.xml
@@ -142,7 +142,7 @@ m authd input</programlisting>
<title>Name</title>
<para>The name field specifies the user or
- group name. It should be be shorter than 256
+ group name. It should be be shorter than 31
characters and avoid any non-ASCII characters,
and not begin with a numeric character. It is
strongly recommended to pick user and group
diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c
index 1765f31a3a..40a669725e 100644
--- a/src/sysusers/sysusers.c
+++ b/src/sysusers/sysusers.c
@@ -24,6 +24,7 @@
#include <grp.h>
#include <shadow.h>
#include <getopt.h>
+#include <utmp.h>
#include "util.h"
#include "hashmap.h"
@@ -1095,6 +1096,9 @@ static bool valid_user_group_name(const char *u) {
if ((size_t) (i-u) > (size_t) sz)
return false;
+ if ((size_t) (i-u) > UT_NAMESIZE - 1)
+ return false;
+
return true;
}