Fix Debian bug #675824
* lib/groupmem.c (__gr_dup): Support libc which define other fields in struct group. * lib/pwmem.c: Likewise for struct passwd. * lib/shadowmem.c: Likewise for struct spwd. * lib/sgroupio.c: Apply same logic, even if this structure is defined internally.
This commit is contained in:
parent
5d491ef9da
commit
fcb7222b1a
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
||||
2013-08-06 Nicolas François <nicolas.francois@centraliens.net>
|
||||
|
||||
Fix Debian bug #675824
|
||||
* lib/groupmem.c (__gr_dup): Support libc which define other
|
||||
fields in struct group.
|
||||
* lib/pwmem.c: Likewise for struct passwd.
|
||||
* lib/shadowmem.c: Likewise for struct spwd.
|
||||
* lib/sgroupio.c: Apply same logic, even if this structure is
|
||||
defined internally.
|
||||
|
||||
2013-08-05 Nicolas François <nicolas.francois@centraliens.net>
|
||||
|
||||
* lib/groupio.c: Revert change from 2013-07-29. The length of the
|
||||
|
@ -48,6 +48,8 @@
|
||||
if (NULL == gr) {
|
||||
return NULL;
|
||||
}
|
||||
/* The libc might define other fields. They won't be copied. */
|
||||
memset (gr, 0, sizeof *gr);
|
||||
gr->gr_gid = grent->gr_gid;
|
||||
gr->gr_name = strdup (grent->gr_name);
|
||||
if (NULL == gr->gr_name) {
|
||||
|
@ -48,6 +48,8 @@
|
||||
if (NULL == pw) {
|
||||
return NULL;
|
||||
}
|
||||
/* The libc might define other fields. They won't be copied. */
|
||||
memset (pw, 0, sizeof *pw);
|
||||
pw->pw_uid = pwent->pw_uid;
|
||||
pw->pw_gid = pwent->pw_gid;
|
||||
pw->pw_name = strdup (pwent->pw_name);
|
||||
|
@ -51,6 +51,9 @@
|
||||
if (NULL == sg) {
|
||||
return NULL;
|
||||
}
|
||||
/* Do the same as the other _dup function, even if we know the
|
||||
* structure. */
|
||||
memset (sg, 0, sizeof *sg);
|
||||
sg->sg_name = strdup (sgent->sg_name);
|
||||
if (NULL == sg->sg_name) {
|
||||
free (sg);
|
||||
|
@ -49,6 +49,8 @@
|
||||
if (NULL == sp) {
|
||||
return NULL;
|
||||
}
|
||||
/* The libc might define other fields. They won't be copied. */
|
||||
memset (sp, 0, sizeof *sp);
|
||||
sp->sp_lstchg = spent->sp_lstchg;
|
||||
sp->sp_min = spent->sp_min;
|
||||
sp->sp_max = spent->sp_max;
|
||||
|
Loading…
Reference in New Issue
Block a user