summaryrefslogtreecommitdiff
path: root/source3/lib/sysacls.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/lib/sysacls.c')
-rw-r--r--source3/lib/sysacls.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/source3/lib/sysacls.c b/source3/lib/sysacls.c
index 00d06e4a5a..22245992f5 100644
--- a/source3/lib/sysacls.c
+++ b/source3/lib/sysacls.c
@@ -644,7 +644,13 @@ char *sys_acl_to_text(SMB_ACL_T acl_d, ssize_t *len_p)
break;
case SMB_ACL_USER:
- id = uidtoname(ap->a_id);
+ if ((pw = sys_getpwuid(ap->a_id)) == NULL) {
+ slprintf(idbuf, sizeof(idbuf)-1, "%ld",
+ (long)ap->a_id);
+ id = idbuf;
+ } else {
+ id = pw->pw_name;
+ }
case SMB_ACL_USER_OBJ:
tag = "user";
break;
@@ -1275,7 +1281,13 @@ char *sys_acl_to_text(SMB_ACL_T acl_d, ssize_t *len_p)
break;
case SMB_ACL_USER:
- id = uidtoname(ap->a_id);
+ if ((pw = sys_getpwuid(ap->a_id)) == NULL) {
+ slprintf(idbuf, sizeof(idbuf)-1, "%ld",
+ (long)ap->a_id);
+ id = idbuf;
+ } else {
+ id = pw->pw_name;
+ }
case SMB_ACL_USER_OBJ:
tag = "user";
break;