summaryrefslogtreecommitdiff
path: root/pkg/domain
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@pm.me>2020-06-09 14:05:45 -0400
committerMatthew Heon <matthew.heon@pm.me>2020-06-09 14:10:10 -0400
commit817dbdfdf8ee10c524a15f7247a3742cb926f96b (patch)
tree7f41fdafae0074d5c17e9cf91b1a04ad06284083 /pkg/domain
parentfbe09d78e91c9ac5cadc8b00a67c7d7f89d64868 (diff)
downloadpodman-817dbdfdf8ee10c524a15f7247a3742cb926f96b.tar.gz
podman-817dbdfdf8ee10c524a15f7247a3742cb926f96b.tar.bz2
podman-817dbdfdf8ee10c524a15f7247a3742cb926f96b.zip
Ensure signal validation happens first in pod kill
This fixes an error in the system tests, which expect that when you try and kill a nonexistent pod with an incorrect signal, you receive an error about the signal, not the pod. At the same time, fix a missing return statement in the bindings, which could also have caused us grief. Fixes #6540 Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Diffstat (limited to 'pkg/domain')
-rw-r--r--pkg/domain/infra/tunnel/pods.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/pkg/domain/infra/tunnel/pods.go b/pkg/domain/infra/tunnel/pods.go
index b93c48aab..1eb1fffd7 100644
--- a/pkg/domain/infra/tunnel/pods.go
+++ b/pkg/domain/infra/tunnel/pods.go
@@ -7,6 +7,7 @@ import (
"github.com/containers/libpod/pkg/bindings/pods"
"github.com/containers/libpod/pkg/domain/entities"
"github.com/containers/libpod/pkg/specgen"
+ "github.com/containers/libpod/pkg/util"
"github.com/pkg/errors"
)
@@ -19,6 +20,12 @@ func (ic *ContainerEngine) PodKill(ctx context.Context, namesOrIds []string, opt
var (
reports []*entities.PodKillReport
)
+
+ _, err := util.ParseSignal(options.Signal)
+ if err != nil {
+ return nil, err
+ }
+
foundPods, err := getPodsByContext(ic.ClientCxt, options.All, namesOrIds)
if err != nil {
return nil, err