Skip to content

Commit

Permalink
upstream: fix previous change to ssh_config Match, which broken on
Browse files Browse the repository at this point in the history
negated Matches; spotted by phessler@ ok deraadt@

OpenBSD-Commit-ID: b1c6acec66cd5bd1252feff1d02ad7129ced37c7
  • Loading branch information
djmdjm committed Sep 27, 2024
1 parent 66878e1 commit 19bcb2d
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions readconf.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* $OpenBSD: readconf.c,v 1.391 2024/09/25 01:24:04 djm Exp $ */
/* $OpenBSD: readconf.c,v 1.392 2024/09/26 23:55:08 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
Expand Down Expand Up @@ -710,7 +710,7 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp,
struct passwd *pw, const char *host_arg, const char *original_host,
int final_pass, int *want_final_pass, const char *filename, int linenum)
{
char *arg, *oattrib, *attrib = NULL, *cmd, *host, *criteria;
char *arg, *oattrib = NULL, *attrib = NULL, *cmd, *host, *criteria;
const char *ruser;
int r, this_result, result = 1, attributes = 0, negate;

Expand All @@ -731,8 +731,8 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp,

debug2("checking match for '%s' host %s originally %s",
full_line, host, original_host);
while ((oattrib = argv_next(acp, avp)) != NULL) {
attrib = xstrdup(oattrib);
while ((attrib = argv_next(acp, avp)) != NULL) {
attrib = oattrib = xstrdup(attrib);
/* Terminate on comment */
if (*attrib == '#') {
argv_consume(acp);
Expand Down Expand Up @@ -871,8 +871,8 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp,
criteria == NULL ? "" : criteria,
criteria == NULL ? "" : "\"");
free(criteria);
free(attrib);
attrib = NULL;
free(oattrib);
oattrib = attrib = NULL;
}
if (attributes == 0) {
error("One or more attributes required for Match");
Expand All @@ -882,7 +882,7 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp,
out:
if (result != -1)
debug2("match %sfound", result ? "" : "not ");
free(attrib);
free(oattrib);
free(host);
return result;
}
Expand Down

0 comments on commit 19bcb2d

Please sign in to comment.