lib: Use talloc_pooled_object in tcopy_passwd
[obnox/samba/samba-obnox.git] / 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;