You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by je...@apache.org on 2021/06/23 14:02:44 UTC
[mynewt-newt] branch master updated: executeShell: escape also '<'
and '>'
This is an automated email from the ASF dual-hosted git repository.
jerzy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-newt.git
The following commit(s) were added to refs/heads/master by this push:
new 8480d7d executeShell: escape also '<' and '>'
8480d7d is described below
commit 8480d7d022edf27bff7693e812828f940a3df85c
Author: Jerzy Kasenberg <je...@codecoup.pl>
AuthorDate: Wed Jun 23 14:04:21 2021 +0200
executeShell: escape also '<' and '>'
option --executeShell escaped quotation marks
on lines that were passed to bin/sh.
This also escapes '<' and '>' before running sh.
This allows to have cflags in the form
-DMBEDTLS_USER_CONFIG_FILE=<mbedtls/config_mynewt.h>
---
util/util.go | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/util/util.go b/util/util.go
index d693f1a..05c8530 100644
--- a/util/util.go
+++ b/util/util.go
@@ -367,7 +367,10 @@ func ShellCommandLimitDbgOutput(
if ExecuteShell && (runtime.GOOS == "linux" || runtime.GOOS == "darwin") {
cmd := strings.Join(cmdStrs, " ")
name = "/bin/sh"
- args = []string{"-c", strings.Replace(cmd, "\"", "\\\"", -1)}
+ cmd = strings.Replace(cmd, "\"", "\\\"", -1)
+ cmd = strings.Replace(cmd, "<", "\\<", -1)
+ cmd = strings.Replace(cmd, ">", "\\>", -1)
+ args = []string{"-c", cmd}
} else {
if strings.HasSuffix(cmdStrs[0], ".sh") {
var newt_sh = os.Getenv("NEWT_SH")