]> git.cameronkatri.com Git - pw-darwin.git/commitdiff
pw_checkname since the beginning if too strict on GECOS field,
authorBaptiste Daroussin <bapt@FreeBSD.org>
Wed, 2 Dec 2015 22:35:25 +0000 (22:35 +0000)
committerBaptiste Daroussin <bapt@FreeBSD.org>
Wed, 2 Dec 2015 22:35:25 +0000 (22:35 +0000)
relax it a bit so gecos can be used to store multibytes data.

This was unseen before FreeBSD 10.2 as this validation function was motly unused
since FreeBSD 10.2 the usage of this function has been generalized to improve
validation.

Reported by: des
MFC after: 1 week

pw/pw_user.c

index 61c24402ed8e022e493fb3567bcf7f0fb5968cf4..30a2749ec917ed191414ca3d5e1f6d369cc71792 100644 (file)
@@ -642,7 +642,8 @@ pw_checkname(char *name, int gecos)
        }
        if (!reject) {
                while (*ch) {
-                       if (strchr(badchars, *ch) != NULL || *ch < ' ' ||
+                       if (strchr(badchars, *ch) != NULL ||
+                           (!gecos && *ch < ' ') ||
                            *ch == 127) {
                                reject = 1;
                                break;