diff options
Diffstat (limited to 'lib/shadowmem.c')
-rw-r--r-- | lib/shadowmem.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/shadowmem.c b/lib/shadowmem.c index 82f99e7..9d8f193 100644 --- a/lib/shadowmem.c +++ b/lib/shadowmem.c @@ -16,18 +16,20 @@ #include "defines.h" #include <shadow.h> #include <stdio.h> + +#include "alloc.h" +#include "memzero.h" #include "shadowio.h" /*@null@*/ /*@only@*/struct spwd *__spw_dup (const struct spwd *spent) { struct spwd *sp; - sp = (struct spwd *) malloc (sizeof *sp); + sp = CALLOC (1, struct spwd); 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; @@ -54,7 +56,8 @@ return sp; } -void spw_free (/*@out@*/ /*@only@*/struct spwd *spent) +void +spw_free(/*@only@*/struct spwd *spent) { if (spent != NULL) { free (spent->sp_namp); |