From c11b1e84204e0ff449e9f3c50b990264a54f8921 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 19 Sep 2003 20:56:51 +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. --- ChangeLog | 5 ++++- session.c | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index dd2609ae7..fddf3314c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,6 +8,9 @@ - (djm) Bug #646: Fix location of x11-ssh-askpass; Jim - (dtucker) [openbsd-compat/port-aix.h] Bug #640: Don't include audit.h unless required. Reorder to reduce warnings. + - (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. 20030918 - (djm) Bug #652: Fix empty password auth @@ -1129,4 +1132,4 @@ - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. Report from murple@murple.net, diagnosis from dtucker@zip.com.au -$Id: ChangeLog,v 1.3006 2003/09/19 10:43:38 dtucker Exp $ +$Id: ChangeLog,v 1.3007 2003/09/19 10:56:51 dtucker Exp $ 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