]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
lib/chkname.c: is_valid_name(): Use streq() instead of its pattern
authorAlejandro Colomar <alx@kernel.org>
Mon, 2 Dec 2024 12:23:49 +0000 (13:23 +0100)
committerSerge Hallyn <serge@hallyn.com>
Sat, 8 Feb 2025 05:47:21 +0000 (23:47 -0600)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/chkname.c

index bee2e6bd7a74ca3bf9aa7cad058a585e225780d3..b2fc0b88ab661eaa33bc07247ab98d7cf8f9426d 100644 (file)
@@ -73,9 +73,9 @@ is_valid_name(const char *name)
          */
        int numeric;
 
-       if ('\0' == *name ||
-           ('.' == *name && (('.' == name[1] && '\0' == name[2]) ||
-                             '\0' == name[1])) ||
+       if (streq(name, "") ||
+           streq(name, ".") ||
+           streq(name, "..") ||
            !((*name >= 'a' && *name <= 'z') ||
              (*name >= 'A' && *name <= 'Z') ||
              (*name >= '0' && *name <= '9') ||
@@ -95,7 +95,7 @@ is_valid_name(const char *name)
                      *name == '_' ||
                      *name == '.' ||
                      *name == '-' ||
-                     (*name == '$' && name[1] == '\0')
+                     streq(name, "$")
                     ))
                {
                        errno = EINVAL;