diff options
author | millert@openbsd.org <millert@openbsd.org> | 2022-04-20 15:56:49 +0000 |
---|---|---|
committer | Darren Tucker <dtucker@dtucker.net> | 2022-04-27 21:28:37 +1000 |
commit | fe9d87a6800a7a33be08f4d5ab662a758055ced2 (patch) | |
tree | 85c591b2a9265bc6a78fd130f84503c47f1ec0ed /readconf.c | |
parent | 7bf2eb958fbb551e7d61e75c176bb3200383285d (diff) | |
download | openssh-git-fe9d87a6800a7a33be08f4d5ab662a758055ced2.tar.gz |
upstream: Avoid an unnecessary xstrdup in rm_env() when matching
patterns. Since match_pattern() doesn't modify its arguments (they are
const), there is no need to make an extra copy of the strings in
options->send_env. From Martin Vahlensieck
OpenBSD-Commit-ID: 2c9db31e3f4d3403b49642c64ee048b2a0a39351
Diffstat (limited to 'readconf.c')
-rw-r--r-- | readconf.c | 10 |
1 files changed, 3 insertions, 7 deletions
@@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.c,v 1.366 2022/02/08 08:59:12 dtucker Exp $ */ +/* $OpenBSD: readconf.c,v 1.367 2022/04/20 15:56:49 millert Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -754,19 +754,15 @@ static void rm_env(Options *options, const char *arg, const char *filename, int linenum) { int i, j, onum_send_env = options->num_send_env; - char *cp; /* Remove an environment variable */ for (i = 0; i < options->num_send_env; ) { - cp = xstrdup(options->send_env[i]); - if (!match_pattern(cp, arg + 1)) { - free(cp); + if (!match_pattern(options->send_env[i], arg + 1)) { i++; continue; } debug3("%s line %d: removing environment %s", - filename, linenum, cp); - free(cp); + filename, linenum, options->send_env[i]); free(options->send_env[i]); options->send_env[i] = NULL; for (j = i; j < options->num_send_env - 1; j++) { |