提交 9fd98a63 编写于 作者: R Rich Felker

fix format strings for uid/gid values in putpwent/putgrent

commit 648c3b4e omitted this change,
which is needed to be able to use uid/gid values greater than INT_MAX
with these interfaces. it fixes alpine linux bug #10460.
上级 f450c150
......@@ -7,7 +7,7 @@ int putgrent(const struct group *gr, FILE *f)
int r;
size_t i;
flockfile(f);
if ((r = fprintf(f, "%s:%s:%d:", gr->gr_name, gr->gr_passwd, gr->gr_gid))<0) goto done;
if ((r = fprintf(f, "%s:%s:%u:", gr->gr_name, gr->gr_passwd, gr->gr_gid))<0) goto done;
if (gr->gr_mem) for (i=0; gr->gr_mem[i]; i++)
if ((r = fprintf(f, "%s%s", i?",":"", gr->gr_mem[i]))<0) goto done;
r = fputc('\n', f);
......
......@@ -4,7 +4,7 @@
int putpwent(const struct passwd *pw, FILE *f)
{
return fprintf(f, "%s:%s:%d:%d:%s:%s:%s\n",
return fprintf(f, "%s:%s:%u:%u:%s:%s:%s\n",
pw->pw_name, pw->pw_passwd, pw->pw_uid, pw->pw_gid,
pw->pw_gecos, pw->pw_dir, pw->pw_shell)<0 ? -1 : 0;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册