Skip to content

Commit 4f02e42

Browse files
committed
prevent panic accesing services in extended file
Signed-off-by: Nicolas De Loof <[email protected]>
1 parent 7b77fc9 commit 4f02e42

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

loader/extends.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,15 @@ func getExtendsBaseFromFile(
163163
if err != nil {
164164
return nil, nil, err
165165
}
166-
services := source["services"].(map[string]any)
167-
_, ok := services[ref]
166+
m, ok := source["services"]
167+
if !ok {
168+
return nil, nil, fmt.Errorf("cannot extend service %q in %s: no services section", name, local)
169+
}
170+
services, ok := m.(map[string]any)
171+
if !ok {
172+
return nil, nil, fmt.Errorf("cannot extend service %q in %s: services must be a mapping", name, local)
173+
}
174+
_, ok = services[ref]
168175
if !ok {
169176
return nil, nil, fmt.Errorf(
170177
"cannot extend service %q in %s: service %q not found in %s",

0 commit comments

Comments
 (0)