From 10ae7c3210cd1add14d3750aa9512a87df0e1146 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Fri, 18 Dec 2020 18:20:12 +0100 Subject: Improve LookPath --- resources/resource_transformers/babel/babel.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'resources/resource_transformers/babel') diff --git a/resources/resource_transformers/babel/babel.go b/resources/resource_transformers/babel/babel.go index 64d8667bd..204153705 100644 --- a/resources/resource_transformers/babel/babel.go +++ b/resources/resource_transformers/babel/babel.go @@ -16,10 +16,11 @@ package babel import ( "bytes" "io" - "os/exec" "path/filepath" "strconv" + "github.com/cli/safeexec" + "github.com/gohugoio/hugo/common/hexec" "github.com/gohugoio/hugo/common/loggers" "github.com/gohugoio/hugo/common/hugo" @@ -108,10 +109,10 @@ func (t *babelTransformation) Transform(ctx *resources.ResourceTransformationCtx binary := csiBinPath - if _, err := exec.LookPath(binary); err != nil { + if _, err := safeexec.LookPath(binary); err != nil { // Try PATH binary = binaryName - if _, err := exec.LookPath(binary); err != nil { + if _, err := safeexec.LookPath(binary); err != nil { // This may be on a CI server etc. Will fall back to pre-built assets. return herrors.ErrFeatureNotAvailable } @@ -152,7 +153,10 @@ func (t *babelTransformation) Transform(ctx *resources.ResourceTransformationCtx } cmdArgs = append(cmdArgs, "--filename="+ctx.SourcePath) - cmd := exec.Command(binary, cmdArgs...) + cmd, err := hexec.SafeCommand(binary, cmdArgs...) + if err != nil { + return err + } cmd.Stdout = ctx.To cmd.Stderr = io.MultiWriter(infoW, &errBuf) -- cgit v1.2.3