diff --git a/pkg/cmd/portforward/portforward.go b/pkg/cmd/portforward/portforward.go index 4328560b..30519e81 100644 --- a/pkg/cmd/portforward/portforward.go +++ b/pkg/cmd/portforward/portforward.go @@ -223,7 +223,9 @@ func convertPodNamedPortToNumber(ports []string, pod corev1.Pod) ([]string, erro var converted []string for _, port := range ports { localPort, remotePort := splitPort(port) - + if remotePort == "" { + return nil, fmt.Errorf("remote port cannot be empty") + } containerPortStr := remotePort _, err := strconv.Atoi(remotePort) if err != nil { diff --git a/pkg/cmd/portforward/portforward_test.go b/pkg/cmd/portforward/portforward_test.go index 70b22f07..d6eddb80 100644 --- a/pkg/cmd/portforward/portforward_test.go +++ b/pkg/cmd/portforward/portforward_test.go @@ -820,6 +820,24 @@ func TestConvertPodNamedPortToNumber(t *testing.T) { ports: []string{"https", "http"}, err: true, }, + { + name: "empty port name", + pod: corev1.Pod{ + Spec: corev1.PodSpec{ + Containers: []corev1.Container{ + { + Ports: []corev1.ContainerPort{ + { + ContainerPort: int32(27017)}, + }, + }, + }, + }, + }, + ports: []string{"28015:"}, + converted: nil, + err: true, + }, } for _, tc := range cases {