Author: trasz
Date: Tue Apr 13 06:01:24 2010
New Revision: 206542
URL: http://svn.freebsd.org/changeset/base/206542

Log:
  MFC r205796:
  
  Make acl_to_text_np(3) not crash on long group or user names in NFSv4 ACLs.
  
  PR:           amd64/145091

Modified:
  stable/8/lib/libc/posix1e/acl_to_text_nfs4.c
Directory Properties:
  stable/8/lib/libc/   (props changed)
  stable/8/lib/libc/stdtime/   (props changed)

Modified: stable/8/lib/libc/posix1e/acl_to_text_nfs4.c
==============================================================================
--- stable/8/lib/libc/posix1e/acl_to_text_nfs4.c        Tue Apr 13 03:10:38 
2010        (r206541)
+++ stable/8/lib/libc/posix1e/acl_to_text_nfs4.c        Tue Apr 13 06:01:24 
2010        (r206542)
@@ -167,7 +167,7 @@ format_additional_id(char *str, size_t s
 static int
 format_entry(char *str, size_t size, const acl_entry_t entry, int flags)
 {
-       size_t off = 0, padding_length, maximum_who_field_length = 18;
+       size_t off = 0, min_who_field_length = 18;
        acl_permset_t permset;
        acl_flagset_t flagset;
        int error, len;
@@ -188,12 +188,9 @@ format_entry(char *str, size_t size, con
        if (error)
                return (error);
        len = strlen(buf);
-       padding_length = maximum_who_field_length - len;
-       if (padding_length > 0) {
-               memset(str, ' ', padding_length);
-               off += padding_length;
-       }
-       off += snprintf(str + off, size - off, "%s:", buf);
+       if (len < min_who_field_length)
+               len = min_who_field_length;
+       off += snprintf(str + off, size - off, "%*s:", len, buf);
 
        error = _nfs4_format_access_mask(buf, sizeof(buf), *permset,
            flags & ACL_TEXT_VERBOSE);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to