summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2003-09-19 20:56:51 +1000
committerDarren Tucker <dtucker@zip.com.au>2003-09-19 20:56:51 +1000
commitc11b1e84204e0ff449e9f3c50b990264a54f8921 (patch)
tree629451b8be69fcf9386ac1f7644c8b583b22c3b7
parent91acbf211c2d7508155daf75461435333254093a (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 dd2609ae7..fddf3314c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,9 @@
8 - (djm) Bug #646: Fix location of x11-ssh-askpass; Jim 8 - (djm) Bug #646: Fix location of x11-ssh-askpass; Jim
9 - (dtucker) [openbsd-compat/port-aix.h] Bug #640: Don't include audit.h 9 - (dtucker) [openbsd-compat/port-aix.h] Bug #640: Don't include audit.h
10 unless required. Reorder to reduce warnings. 10 unless required. Reorder to reduce warnings.
11 - (dtucker) [session.c] Bug #643: Fix size_t -> u_int and fix null deref
12 when /etc/default/login doesn't exist or isn't readable. Fixes from
13 jparsons-lists at saffron.net and georg.oppenberg at deu mci com.
11 14
1220030918 1520030918
13 - (djm) Bug #652: Fix empty password auth 16 - (djm) Bug #652: Fix empty password auth
@@ -1129,4 +1132,4 @@
1129 - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. 1132 - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo.
1130 Report from murple@murple.net, diagnosis from dtucker@zip.com.au 1133 Report from murple@murple.net, diagnosis from dtucker@zip.com.au
1131 1134
1132$Id: ChangeLog,v 1.3006 2003/09/19 10:43:38 dtucker Exp $ 1135$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
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