summaryrefslogtreecommitdiff
path: root/source3/lib
diff options
context:
space:
mode:
Diffstat (limited to 'source3/lib')
-rw-r--r--source3/lib/genrand.c3
-rw-r--r--source3/lib/util.c6
2 files changed, 6 insertions, 3 deletions
diff --git a/source3/lib/genrand.c b/source3/lib/genrand.c
index 39e56db960..4a56235c3d 100644
--- a/source3/lib/genrand.c
+++ b/source3/lib/genrand.c
@@ -158,13 +158,14 @@ static int do_reseed(BOOL use_fd, int fd)
* seriously this will be secret.
*/
- pw = sys_getpwnam("root");
+ pw = getpwnam_alloc("root");
if (pw && pw->pw_passwd) {
size_t i;
unsigned char md4_tmp[16];
mdfour(md4_tmp, (unsigned char *)pw->pw_passwd, strlen(pw->pw_passwd));
for (i=0;i<16;i++)
seed_inbuf[8+i] ^= md4_tmp[i];
+ passwd_free(&pw);
}
/*
diff --git a/source3/lib/util.c b/source3/lib/util.c
index f598f0aaa4..97ff4e24a0 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -1091,9 +1091,11 @@ uid_t nametouid(char *name)
if (winbind_nametouid(&u, name))
return u;
- pass = sys_getpwnam(name);
- if (pass)
+ pass = getpwnam_alloc(name);
+ if (pass) {
return(pass->pw_uid);
+ passwd_free(&pass);
+ }
return (uid_t)-1;
}