summaryrefslogtreecommitdiffstats
path: root/auth-options.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2001-03-14 10:15:20 +1100
committerDamien Miller <djm@mindrot.org>2001-03-14 10:15:20 +1100
commit056ddf7af3504a688c34f2daf50bcd20abfef3ba (patch)
treed206ad4ed6b334ded27193320c4ff2a1ed0ddb01 /auth-options.c
parentcfccef96a35cb954023a31f9bc10cf3b8f9f8ed3 (diff)
- OpenBSD CVS Sync
- markus@cvs.openbsd.org 2001/03/13 17:34:42 [auth-options.c] missing xfree, deny key on parse error; ok stevesk@
Diffstat (limited to 'auth-options.c')
-rw-r--r--auth-options.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/auth-options.c b/auth-options.c
index 57e335f3..bfb1af86 100644
--- a/auth-options.c
+++ b/auth-options.c
@@ -10,7 +10,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: auth-options.c,v 1.13 2001/02/09 13:38:07 markus Exp $");
+RCSID("$OpenBSD: auth-options.c,v 1.14 2001/03/13 17:34:42 markus Exp $");
#include "packet.h"
#include "xmalloc.h"
@@ -118,7 +118,9 @@ auth_parse_options(struct passwd *pw, char *opts, char *file, u_long linenum)
file, linenum);
packet_send_debug("%.100s, line %lu: missing end quote",
file, linenum);
- continue;
+ xfree(forced_command);
+ forced_command = NULL;
+ goto bad_option;
}
forced_command[i] = 0;
packet_send_debug("Forced command: %.900s", forced_command);
@@ -148,7 +150,8 @@ auth_parse_options(struct passwd *pw, char *opts, char *file, u_long linenum)
file, linenum);
packet_send_debug("%.100s, line %lu: missing end quote",
file, linenum);
- continue;
+ xfree(s);
+ goto bad_option;
}
s[i] = 0;
packet_send_debug("Adding to environment: %.900s", s);
@@ -185,7 +188,8 @@ auth_parse_options(struct passwd *pw, char *opts, char *file, u_long linenum)
file, linenum);
packet_send_debug("%.100s, line %lu: missing end quote",
file, linenum);
- continue;
+ xfree(patterns);
+ goto bad_option;
}
patterns[i] = 0;
opts++;