diff options
Diffstat (limited to 'source4/heimdal/lib/hcrypto/rand.c')
-rw-r--r-- | source4/heimdal/lib/hcrypto/rand.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/source4/heimdal/lib/hcrypto/rand.c b/source4/heimdal/lib/hcrypto/rand.c index 248fdde620..79dd39eb76 100644 --- a/source4/heimdal/lib/hcrypto/rand.c +++ b/source4/heimdal/lib/hcrypto/rand.c @@ -35,7 +35,7 @@ #include <config.h> #endif -RCSID("$Id: rand.c 21198 2007-06-20 05:10:41Z lha $"); +RCSID("$Id: rand.c 22199 2007-12-07 13:43:25Z lha $"); #include <stdio.h> #include <stdlib.h> @@ -189,13 +189,12 @@ RAND_file_name(char *filename, size_t size) pathp = 1; } } - if (e == NULL) { - struct passwd *pw = getpwuid(getuid()); - if (pw) { - e = pw->pw_dir; - pathp = 1; - } - } + /* + * Here we really want to call getpwuid(getuid()) but this will + * cause recursive lookups if the nss library uses + * gssapi/krb5/hcrypto to authenticate to the ldap servers. + */ + if (e == NULL) return NULL; |