about summary refs log tree commit diff
path: root/nis/nis_ismember.c
diff options
context:
space:
mode:
Diffstat (limited to 'nis/nis_ismember.c')
-rw-r--r--nis/nis_ismember.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/nis/nis_ismember.c b/nis/nis_ismember.c
index f0d087ca51..85c401531e 100644
--- a/nis/nis_ismember.c
+++ b/nis/nis_ismember.c
@@ -42,7 +42,7 @@ internal_ismember (const_nis_name principal, const_nis_name group)
       cp2 = nis_domain_of_r (group, domainbuf, sizeof (domainbuf) - 1);
       if (cp2 != NULL && strlen (cp2) > 0)
         {
-          cp = stpcpy (cp, ".");
+	  *cp++ = '.';
           strcpy (cp, cp2);
 	}
       res = nis_lookup (buf, EXPAND_NAME|FOLLOW_LINKS);
@@ -112,9 +112,8 @@ internal_ismember (const_nis_name principal, const_nis_name group)
 		    char buf1[strlen (principal) + 2];
 		    char buf2[strlen (cp) + 2];
 
-		    strcpy (buf1, nis_domain_of (principal));
-		    strcpy (buf2, nis_domain_of (cp));
-		    if (strcmp (buf1, buf2) == 0)
+		    if (strcmp (nis_domain_of_r (principal, buf1, sizeof buf1),
+				nis_domain_of_r (cp, buf2, sizeof buf2)) == 0)
 		      return 1;
 		  }
 	    }
@@ -128,15 +127,7 @@ bool_t
 nis_ismember (const_nis_name principal, const_nis_name group)
 {
   if (group != NULL && strlen (group) > 0)
-    {
-      int status;
-
-      status = internal_ismember (principal, group);
-      if (status == 1)
-	return TRUE;
-      else
-	return FALSE;
-    }
+    return internal_ismember (principal, group) == 1 ? TRUE : FALSE;
   else
     return FALSE;
 }