diff options
author | Warner Losh <imp@FreeBSD.org> | 2018-09-22 15:32:53 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2018-09-22 15:32:53 +0000 |
commit | 6577e8c44b5d5340bbf277265a18ac0a61cedfee (patch) | |
tree | 028d2e2f8cb6e7cde36ba670b2ec850adc795acc /sbin | |
parent | b8fdf588079d7bb8f45e1b894801870db00e6887 (diff) |
We don't need shell protection for when we're expanding matches.
Don't add it. This should fix when we do regepx matches against
variables we've set and fix wifi bring up.
PR: 231441
Approved by: re@ (kib)
Differential Revision: https://reviews.freebsd.org/D17267
Notes
Notes:
svn path=/head/; revision=338888
Diffstat (limited to 'sbin')
-rw-r--r-- | sbin/devd/devd.cc | 6 | ||||
-rw-r--r-- | sbin/devd/devd.hh | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sbin/devd/devd.cc b/sbin/devd/devd.cc index e81f718159b1..b2d08324511f 100644 --- a/sbin/devd/devd.cc +++ b/sbin/devd/devd.cc @@ -666,7 +666,7 @@ config::shell_quote(const string &s) } void -config::expand_one(const char *&src, string &dst) +config::expand_one(const char *&src, string &dst, bool is_shell) { int count; string buffer; @@ -705,7 +705,7 @@ config::expand_one(const char *&src, string &dst) do { buffer += *src++; } while (is_id_char(*src)); - dst.append(shell_quote(get_variable(buffer))); + dst.append(is_shell ? shell_quote(get_variable(buffer)) : get_variable(buffer)); } const string @@ -731,7 +731,7 @@ config::expand_string(const char *src, const char *prepend, const char *append) } dst.append(src, var_at - src); src = var_at; - expand_one(src, dst); + expand_one(src, dst, prepend == NULL); } if (append != NULL) diff --git a/sbin/devd/devd.hh b/sbin/devd/devd.hh index 534c4d4c5a9d..d770da22226a 100644 --- a/sbin/devd/devd.hh +++ b/sbin/devd/devd.hh @@ -172,7 +172,7 @@ protected: void sort_vector(std::vector<event_proc *> &); void parse_one_file(const char *fn); void parse_files_in_dir(const char *dirname); - void expand_one(const char *&src, std::string &dst); + void expand_one(const char *&src, std::string &dst, bool is_shell); std::string shell_quote(const std::string &s); bool is_id_char(char) const; bool chop_var(char *&buffer, char *&lhs, char *&rhs) const; |