diff options
Diffstat (limited to 'source/a/shadow/patches/r3062.diff')
-rw-r--r-- | source/a/shadow/patches/r3062.diff | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/source/a/shadow/patches/r3062.diff b/source/a/shadow/patches/r3062.diff deleted file mode 100644 index 00d9ba3af..000000000 --- a/source/a/shadow/patches/r3062.diff +++ /dev/null @@ -1,139 +0,0 @@ -Index: lib/shadowmem.c -=================================================================== ---- lib/shadowmem.c (revision 3061) -+++ lib/shadowmem.c (revision 3062) -@@ -49,8 +49,14 @@ - if (NULL == sp) { - return NULL; - } -- *sp = *spent; -- sp->sp_namp = strdup (spent->sp_namp); -+ sp->sp_lstchg = spent->sp_lstchg; -+ sp->sp_min = spent->sp_min; -+ sp->sp_max = spent->sp_max; -+ sp->sp_warn = spent->sp_warn; -+ sp->sp_inact = spent->sp_inact; -+ sp->sp_expire = spent->sp_expire; -+ sp->sp_flag = spent->sp_flag; -+ sp->sp_namp = strdup (spent->sp_namp); - if (NULL == sp->sp_namp) { - free(sp); - return NULL; -@@ -68,8 +74,10 @@ - void spw_free (/*@out@*/ /*@only@*/struct spwd *spent) - { - free (spent->sp_namp); -- memzero (spent->sp_pwdp, strlen (spent->sp_pwdp)); -- free (spent->sp_pwdp); -+ if (NULL != spent->sp_pwdp) { -+ memzero (spent->sp_pwdp, strlen (spent->sp_pwdp)); -+ free (spent->sp_pwdp); -+ } - free (spent); - } - -Index: lib/groupmem.c -=================================================================== ---- lib/groupmem.c (revision 3061) -+++ lib/groupmem.c (revision 3062) -@@ -48,7 +48,7 @@ - if (NULL == gr) { - return NULL; - } -- *gr = *grent; -+ gr->gr_gid = grent->gr_gid; - gr->gr_name = strdup (grent->gr_name); - if (NULL == gr->gr_name) { - free(gr); -@@ -90,13 +90,18 @@ - - void gr_free (/*@out@*/ /*@only@*/struct group *grent) - { -+ size_t i; - free (grent->gr_name); -- memzero (grent->gr_passwd, strlen (grent->gr_passwd)); -- free (grent->gr_passwd); -- while (*(grent->gr_mem)) { -- free (*(grent->gr_mem)); -- grent->gr_mem++; -+ if (NULL != grent->gr_passwd) { -+ memzero (grent->gr_passwd, strlen (grent->gr_passwd)); -+ free (grent->gr_passwd); - } -+ if (NULL != grent->gr_mem) { -+ for (i = 0; NULL != grent->gr_mem[i]; i++) { -+ free (grent->gr_mem[i]); -+ } -+ free (grent->gr_mem); -+ } - free (grent); - } - -Index: lib/sgroupio.c -=================================================================== ---- lib/sgroupio.c (revision 3061) -+++ lib/sgroupio.c (revision 3062) -@@ -51,7 +51,6 @@ - if (NULL == sg) { - return NULL; - } -- *sg = *sgent; - sg->sg_name = strdup (sgent->sg_name); - if (NULL == sg->sg_name) { - free (sg); -@@ -137,17 +136,20 @@ - - void sgr_free (/*@out@*/ /*@only@*/struct sgrp *sgent) - { -+ size_t i; - free (sgent->sg_name); -- memzero (sgent->sg_passwd, strlen (sgent->sg_passwd)); -- free (sgent->sg_passwd); -- while (NULL != *(sgent->sg_adm)) { -- free (*(sgent->sg_adm)); -- sgent->sg_adm++; -+ if (NULL != sgent->sg_passwd) { -+ memzero (sgent->sg_passwd, strlen (sgent->sg_passwd)); -+ free (sgent->sg_passwd); - } -- while (NULL != *(sgent->sg_mem)) { -- free (*(sgent->sg_mem)); -- sgent->sg_mem++; -+ for (i = 0; NULL != sgent->sg_adm[i]; i++) { -+ free (sgent->sg_adm[i]); - } -+ free (sgent->sg_adm); -+ for (i = 0; NULL != sgent->sg_mem[i]; i++) { -+ free (sgent->sg_mem[i]); -+ } -+ free (sgent->sg_mem); - free (sgent); - } - -Index: lib/pwmem.c -=================================================================== ---- lib/pwmem.c (revision 3061) -+++ lib/pwmem.c (revision 3062) -@@ -48,7 +48,8 @@ - if (NULL == pw) { - return NULL; - } -- *pw = *pwent; -+ pw->pw_uid = pwent->pw_uid; -+ pw->pw_gid = pwent->pw_gid; - pw->pw_name = strdup (pwent->pw_name); - if (NULL == pw->pw_name) { - free(pw); -@@ -91,8 +92,10 @@ - void pw_free (/*@out@*/ /*@only@*/struct passwd *pwent) - { - free (pwent->pw_name); -- memzero (pwent->pw_passwd, strlen (pwent->pw_passwd)); -- free (pwent->pw_passwd); -+ if (pwent->pw_passwd) { -+ memzero (pwent->pw_passwd, strlen (pwent->pw_passwd)); -+ free (pwent->pw_passwd); -+ } - free (pwent->pw_gecos); - free (pwent->pw_dir); - free (pwent->pw_shell); |