From 7baaa6a9615ec2bc05e4af7bcc751bfb2e6b3881 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 19 Sep 2003 20:55:10 +1000 Subject: - (dtucker) [session.c] Bug #643: Fix size_t -> u_int and fix null deref when /etc/default/login doesn't exist or isn't readable. Fixes from jparsons-lists at saffron.net and georg.oppenberg at deu mci com. --- session.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'session.c') diff --git a/session.c b/session.c index 4497f5c0b..616fee971 100644 --- a/session.c +++ b/session.c @@ -912,8 +912,7 @@ static void read_etc_default_login(char ***env, u_int *envsize, uid_t uid) { char **tmpenv = NULL, *var; - u_int i; - size_t tmpenvsize = 0; + u_int i, tmpenvsize = 0; mode_t mask; /* @@ -923,6 +922,9 @@ read_etc_default_login(char ***env, u_int *envsize, uid_t uid) */ read_environment_file(&tmpenv, &tmpenvsize, "/etc/default/login"); + if (tmpenv == NULL) + return; + if (uid == 0) var = child_get_env(tmpenv, "SUPATH"); else -- cgit v1.2.3