]> granicus.if.org Git - shadow/commitdiff
* lib/shadowmem.c: Added spw_free().
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Tue, 21 Apr 2009 22:14:10 +0000 (22:14 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Tue, 21 Apr 2009 22:14:10 +0000 (22:14 +0000)
* lib/shadowio.c: Use spw_free() for shadow_free().
* lib/groupmem.c: Added gr_free().
* lib/groupio.c: Use gr_free() for group_free().
* lib/pwmem.c: Include define.h before prototypes.h
* lib/pwmem.c: Added pw_free().
* lib/pwio.c: Use pw_free() for passwd_free().
* lib/sgroupio.c: Added sgr_free().
* lib/sgroupio.c: Use sgr_free() for gshadow_free().
* lib/prototypes.h: Added gr_free(), pw_free(), sgr_free(),
spw_free().

ChangeLog
lib/groupio.c
lib/groupmem.c
lib/prototypes.h
lib/pwio.c
lib/pwmem.c
lib/sgroupio.c
lib/shadowio.c
lib/shadowmem.c

index ee9f1d1f3ef1c49fca2da5de322d3e96735cae4f..8e081c4cae46675c4fee06fc7e39b546c882e84b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2009-04-21  Nicolas François  <nicolas.francois@centraliens.net>
+
+       * lib/shadowmem.c: Added spw_free().
+       * lib/shadowio.c: Use spw_free() for shadow_free().
+       * lib/groupmem.c: Added gr_free().
+       * lib/groupio.c: Use gr_free() for group_free().
+       * lib/pwmem.c: Include define.h before prototypes.h
+       * lib/pwmem.c: Added pw_free().
+       * lib/pwio.c: Use pw_free() for passwd_free().
+       * lib/sgroupio.c: Added sgr_free().
+       * lib/sgroupio.c: Use sgr_free() for gshadow_free().
+       * lib/prototypes.h: Added gr_free(), pw_free(), sgr_free(),
+       spw_free().
+
 2009-04-21  Nicolas François  <nicolas.francois@centraliens.net>
 
        * libmisc/shell.c: Add brackets and parenthesis.
index cdca7c9a664fc5ba3503865fba1b9cd4f0b68766..f821c591024114db76f512307c73cc986c4a5c9b 100644 (file)
@@ -59,14 +59,7 @@ static void group_free (void *ent)
 {
        struct group *gr = ent;
 
-       free (gr->gr_name);
-       memzero (gr->gr_passwd, strlen (gr->gr_passwd));
-       free (gr->gr_passwd);
-       while (*(gr->gr_mem)) {
-               free (*(gr->gr_mem));
-               gr->gr_mem++;
-       }
-       free (gr);
+       gr_free (gr);
 }
 
 static const char *group_getname (const void *ent)
index 6bdcfd107cf5e588cf09ebf1ba127d8fefa838ea..56f198e8e643c70d13507cdb2f847caec2664063 100644 (file)
@@ -75,3 +75,15 @@ struct group *__gr_dup (const struct group *grent)
        return gr;
 }
 
+void gr_free (struct group *grent)
+{
+       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++;
+       }
+       free (grent);
+}
+
index 2eb292d89e3d4d2bfcd358eea450e49180a76a63..56ab225c4f1ee167fe087cfe0ad0f482913c8c30 100644 (file)
@@ -173,6 +173,7 @@ extern void __gr_set_changed (void);
 
 /* groupmem.c */
 extern struct group *__gr_dup (const struct group *grent);
+extern void gr_free (struct group *grent);
 
 /* hushed.c */
 extern bool hushed (const char *username);
@@ -258,6 +259,7 @@ extern struct commonio_entry *__pw_get_head (void);
 
 /* pwmem.c */
 extern struct passwd *__pw_dup (const struct passwd *pwent);
+extern void pw_free (struct passwd *pwent);
 
 /* rlogin.c */
 extern int do_rlogin (const char *remote_host, char *name, size_t namelen,
@@ -295,6 +297,7 @@ extern struct spwd *sgetspent (const char *string)
 /* sgroupio.c */
 extern void __sgr_del_entry (const struct commonio_entry *ent);
 extern struct sgrp *__sgr_dup (const struct sgrp *sgent);
+extern void sgr_free (struct sgrp *sgent);
 extern struct commonio_entry *__sgr_get_head (void);
 extern void __sgr_set_changed (void);
 
@@ -304,6 +307,7 @@ extern void __spw_del_entry (const struct commonio_entry *ent);
 
 /* shadowmem.c */
 extern struct spwd *__spw_dup (const struct spwd *spent);
+extern void spw_free (struct spwd *spent);
 
 /* shell.c */
 extern int shell (const char *, const char *, char *const *);
index 38eea9c2ee3f092bdcf0a6a2611edad39d784d1b..f501e2cc85f1d1e315a60229800a2e0277893e92 100644 (file)
@@ -53,13 +53,7 @@ static void passwd_free (void *ent)
 {
        struct passwd *pw = ent;
 
-       free (pw->pw_name);
-       memzero (pw->pw_passwd, strlen (pw->pw_passwd));
-       free (pw->pw_passwd);
-       free (pw->pw_gecos);
-       free (pw->pw_dir);
-       free (pw->pw_shell);
-       free (pw);
+       pw_free (pw);
 }
 
 static const char *passwd_getname (const void *ent)
index addd0fba96c97ee90016ecd7693136120ddd25ff..d9bed3a23058138bd6b673c483d5cbd5811bc1bd 100644 (file)
@@ -36,8 +36,8 @@
 #ident "$Id$"
 
 #include <stdio.h>
-#include "prototypes.h"
 #include "defines.h"
+#include "prototypes.h"
 #include "pwio.h"
 
 struct passwd *__pw_dup (const struct passwd *pwent)
@@ -73,3 +73,14 @@ struct passwd *__pw_dup (const struct passwd *pwent)
        return pw;
 }
 
+void pw_free (struct passwd *pwent)
+{
+       free (pwent->pw_name);
+       memzero (pwent->pw_passwd, strlen (pwent->pw_passwd));
+       free (pwent->pw_passwd);
+       free (pwent->pw_gecos);
+       free (pwent->pw_dir);
+       free (pwent->pw_shell);
+       free (pwent);
+}
+
index bae2068f08dbbdfeb68db2a430e38d283a3680e1..1a85906869a8e665c6d51503724f613c034fc97e 100644 (file)
@@ -101,18 +101,23 @@ static void gshadow_free (void *ent)
 {
        struct sgrp *sg = ent;
 
-       free (sg->sg_name);
-       memzero (sg->sg_passwd, strlen (sg->sg_passwd));
-       free (sg->sg_passwd);
-       while (NULL != *(sg->sg_adm)) {
-               free (*(sg->sg_adm));
-               sg->sg_adm++;
+       sgr_free (sg);
+}
+
+void sgr_free (struct sgrp *sgent)
+{
+       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++;
        }
-       while (NULL != *(sg->sg_mem)) {
-               free (*(sg->sg_mem));
-               sg->sg_mem++;
+       while (NULL != *(sgent->sg_mem)) {
+               free (*(sgent->sg_mem));
+               sgent->sg_mem++;
        }
-       free (sg);
+       free (sgent);
 }
 
 static const char *gshadow_getname (const void *ent)
index 9a8000c4199e1116185ca81b84795b3fb3c7b589..bd7554f5eb310ff71ed99a0682d7fe8fa54daf83 100644 (file)
@@ -53,10 +53,7 @@ static void shadow_free (void *ent)
 {
        struct spwd *sp = ent;
 
-       free (sp->sp_namp);
-       memzero (sp->sp_pwdp, strlen (sp->sp_pwdp));
-       free (sp->sp_pwdp);
-       free (sp);
+       spw_free (sp);
 }
 
 static const char *shadow_getname (const void *ent)
index d27fde747174a7f0a6a52260b0ab3dd9113c8ecd..d4abdf15bedbce748b0625b6e382f42ed7d33083 100644 (file)
@@ -62,3 +62,11 @@ struct spwd *__spw_dup (const struct spwd *spent)
        return sp;
 }
 
+void spw_free (struct spwd *spent)
+{
+       free (spent->sp_namp);
+       memzero (spent->sp_pwdp, strlen (spent->sp_pwdp));
+       free (spent->sp_pwdp);
+       free (spent);
+}
+