From: millert Date: Wed, 20 Apr 2022 15:56:49 +0000 (+0000) Subject: Avoid an unnecessary xstrdup in rm_env() when matching patterns. X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=40bc48e04e91015290e33a5eae3fc3c95fedcb0e;p=openbsd 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 --- diff --git a/usr.bin/ssh/readconf.c b/usr.bin/ssh/readconf.c index f7387e8d4f2..f46a0f85726 100644 --- a/usr.bin/ssh/readconf.c +++ b/usr.bin/ssh/readconf.c @@ -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 * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -740,19 +740,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++) {