feat: add the check_output_matches
plugin #5
1 changed files with 3 additions and 1 deletions
|
@ -5,6 +5,7 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"io"
|
"io"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
// streamObtainer refers to functions that may return either an input stream or
|
// streamObtainer refers to functions that may return either an input stream or
|
||||||
|
@ -72,7 +73,8 @@ func (pc *pipeCopy) abort() {
|
||||||
// from both stderr and stdout to the dataPipe.
|
// from both stderr and stdout to the dataPipe.
|
||||||
func (pluginInst *matchesPlugin) readFromProgram(ctx context.Context, pipes *readerPipes) {
|
func (pluginInst *matchesPlugin) readFromProgram(ctx context.Context, pipes *readerPipes) {
|
||||||
go func() {
|
go func() {
|
||||||
cmd := exec.Command(pluginInst.dataSource) //nolint:gosec // Command is in fact user-provided
|
args := strings.Split(pluginInst.dataSource, " ")
|
||||||
|
cmd := exec.Command(args[0], args[1:]...) //nolint:gosec // Command is in fact user-provided
|
||||||
|
|
||||||
outs := startPipeCopy(func() (io.ReadCloser, error) { return cmd.StdoutPipe() }, pipes)
|
outs := startPipeCopy(func() (io.ReadCloser, error) { return cmd.StdoutPipe() }, pipes)
|
||||||
defer outs.close()
|
defer outs.close()
|
||||||
|
|
Loading…
Reference in a new issue