summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2003-09-19 20:55:10 +1000
committerDarren Tucker <dtucker@zip.com.au>2003-09-19 20:55:10 +1000
commit7baaa6a9615ec2bc05e4af7bcc751bfb2e6b3881 (patch)
tree024459b89ff61a3899e2115c4ebe076604c83d4c
parent387666a626a625b516ea621e463682e647ffbb50 (diff)
- (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.
-rw-r--r--ChangeLog5
-rw-r--r--session.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 94b8aa5db..2ad0d32ec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,9 @@
5 - (djm) Bug #646: Fix location of x11-ssh-askpass; Jim 5 - (djm) Bug #646: Fix location of x11-ssh-askpass; Jim
6 - (dtucker) [openbsd-compat/port-aix.h] Bug #640: Don't include audit.h 6 - (dtucker) [openbsd-compat/port-aix.h] Bug #640: Don't include audit.h
7 unless required. Reorder to reduce warnings. 7 unless required. Reorder to reduce warnings.
8 - (dtucker) [session.c] Bug #643: Fix size_t -> u_int and fix null deref
9 when /etc/default/login doesn't exist or isn't readable. Fixes from
10 jparsons-lists at saffron.net and georg.oppenberg at deu mci com.
8 11
920030918 1220030918
10 - (djm) Bug #652: Fix empty password auth 13 - (djm) Bug #652: Fix empty password auth
@@ -1126,4 +1129,4 @@
1126 - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. 1129 - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo.
1127 Report from murple@murple.net, diagnosis from dtucker@zip.com.au 1130 Report from murple@murple.net, diagnosis from dtucker@zip.com.au
1128 1131
1129$Id: ChangeLog,v 1.2994.2.11 2003/09/19 10:46:21 dtucker Exp $ 1132$Id: ChangeLog,v 1.2994.2.12 2003/09/19 10:55:10 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
912read_etc_default_login(char ***env, u_int *envsize, uid_t uid) 912read_etc_default_login(char ***env, u_int *envsize, uid_t uid)
913{ 913{
914 char **tmpenv = NULL, *var; 914 char **tmpenv = NULL, *var;
915 u_int i; 915 u_int i, tmpenvsize = 0;
916 size_t tmpenvsize = 0;
917 mode_t mask; 916 mode_t mask;
918 917
919 /* 918 /*
@@ -923,6 +922,9 @@ read_etc_default_login(char ***env, u_int *envsize, uid_t uid)
923 */ 922 */
924 read_environment_file(&tmpenv, &tmpenvsize, "/etc/default/login"); 923 read_environment_file(&tmpenv, &tmpenvsize, "/etc/default/login");
925 924
925 if (tmpenv == NULL)
926 return;
927
926 if (uid == 0) 928 if (uid == 0)
927 var = child_get_env(tmpenv, "SUPATH"); 929 var = child_get_env(tmpenv, "SUPATH");
928 else 930 else