in pkg/signature/manifest.go [74:90]
func decodeSelectors(selectorsB64Encoded string) (selectors []string, err error) {
decoded, err := base64.StdEncoding.DecodeString(selectorsB64Encoded)
if err != nil {
return selectors, err
}
selectors = filter(strings.Split(string(decoded), "\n"))
for _, arg := range selectors {
parsed, err := gojq.Parse(arg)
if err != nil {
return nil, err
}
if parsed.Term == nil || parsed.Term.Type != gojq.TermTypeIndex {
return nil, errors.New("invalid selector(s) provided")
}
}
return selectors, err
}