summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2016-10-23 16:52:28 +0200
committerCorinna Vinschen <corinna@vinschen.de>2016-10-23 16:52:28 +0200
commit7d5af6f0ba06d8f1c49912e42a863c09ed6710af (patch)
treefedc1036a57ae3d3f44b226a342eb09fb99e5ade
parentcf01b8f0290eacb35d2c5206b25d3b5968706445 (diff)
downloadcygnal-7d5af6f0ba06d8f1c49912e42a863c09ed6710af.tar.gz
cygnal-7d5af6f0ba06d8f1c49912e42a863c09ed6710af.tar.bz2
cygnal-7d5af6f0ba06d8f1c49912e42a863c09ed6710af.zip
getfacl: Don't trust length of incoming user/groupname
Fixes Coverity CIDs 60079 and 60080 Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--winsup/utils/getfacl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/winsup/utils/getfacl.c b/winsup/utils/getfacl.c
index 6fb04e667..57c58fb6a 100644
--- a/winsup/utils/getfacl.c
+++ b/winsup/utils/getfacl.c
@@ -40,7 +40,7 @@ username (uid_t uid)
struct passwd *pw;
if ((pw = getpwuid (uid)))
- strcpy (ubuf, pw->pw_name);
+ snprintf (ubuf, sizeof ubuf, "%s", pw->pw_name);
else
sprintf (ubuf, "%lu <unknown>", (unsigned long)uid);
return ubuf;
@@ -53,7 +53,7 @@ groupname (gid_t gid)
struct group *gr;
if ((gr = getgrgid (gid)))
- strcpy (gbuf, gr->gr_name);
+ snprintf (gbuf, sizeof gbuf, "%s", gr->gr_name);
else
sprintf (gbuf, "%lu <unknown>", (unsigned long)gid);
return gbuf;