This code:
func (fm *FeatureManager) GetFeatureNames() []string {
flags, err := fm.featureProvider.GetFeatureFlags()
if err != nil {
log.Printf("failed to get feature flag names: %v", err)
return nil
}
res := make([]string, 0, len(flags))
for i, flag := range flags {
res[i] = flag.ID
}
return res
}
Will index OOB if flags returns an empty []string. This causes a panic in client code that calls into this SDK