diff --git a/libpod/container_internal_common.go b/libpod/container_internal_common.go index 7dfceac8a6..87794eeba7 100644 --- a/libpod/container_internal_common.go +++ b/libpod/container_internal_common.go @@ -65,6 +65,10 @@ func parseOptionIDs(ctrMappings []idtools.IDMap, option string) ([]idtools.IDMap for i, m := range ranges { var v idtools.IDMap + if m == "" { + return nil, fmt.Errorf("invalid empty range for %q", option) + } + relative := false if m[0] == '@' { relative = true diff --git a/libpod/container_internal_test.go b/libpod/container_internal_test.go index 1c096d1d16..4fb95e95e4 100644 --- a/libpod/container_internal_test.go +++ b/libpod/container_internal_test.go @@ -70,6 +70,9 @@ func TestParseOptionIDs(t *testing.T) { _, err = parseOptionIDs(idMap, "@10000-20000-2") assert.NotNil(t, err) + + _, err = parseOptionIDs(idMap, "100-200-3###400-500-6") + assert.NotNil(t, err) } func TestParseIDMapMountOption(t *testing.T) {