lib: Use talloc_pooled_object in tcopy_passwd
authorVolker Lendecke <vl@samba.org>
Tue, 18 Nov 2014 09:36:50 +0000 (10:36 +0100)
committerJeremy Allison <jra@samba.org>
Tue, 18 Nov 2014 18:25:04 +0000 (19:25 +0100)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
lib/util/util_pw.c

index ab3808f006ef77c81e4b112483145cbae690692b..1e6de4f17f6573574f720f3f07a1baea78ce2599 100644 (file)
 struct passwd *tcopy_passwd(TALLOC_CTX *mem_ctx,
                            const struct passwd *from)
 {
-       struct passwd *ret = talloc_zero(mem_ctx, struct passwd);
+       struct passwd *ret;
+       size_t len = 0;
+
+       len += strlen(from->pw_name)+1;
+       len += strlen(from->pw_passwd)+1;
+       len += strlen(from->pw_gecos)+1;
+       len += strlen(from->pw_dir)+1;
+       len += strlen(from->pw_shell)+1;
+
+       ret = talloc_pooled_object(mem_ctx, struct passwd, 5, len);
 
        if (ret == NULL)
                return NULL;