follow symlinks to find the true passwd file before updating.

This commit is contained in:
Paul Fox 2007-11-08 01:12:38 +00:00
parent 459a2ba1ef
commit 53bd4015aa

View File

@ -52,6 +52,10 @@ int update_passwd(const char *filename, const char *username,
int cnt = 0;
int ret = -1; /* failure */
filename = xmalloc_readlink_follow(filename);
if (filename == NULL)
return -1;
check_selinux_update_passwd(username);
/* New passwd file, "/etc/passwd+" for now */
@ -143,6 +147,7 @@ int update_passwd(const char *filename, const char *username,
free_mem:
free(fnamesfx);
free((char*)username);
free((char *)filename);
free((char *)username);
return ret;
}