Commit d2caaf1c authored by tanshanshan's avatar tanshanshan

fix bug

parent d97c7591
...@@ -56,12 +56,15 @@ func (v *SchemaValidation) ValidateBytes(data []byte) error { ...@@ -56,12 +56,15 @@ func (v *SchemaValidation) ValidateBytes(data []byte) error {
} }
func (v *SchemaValidation) validateList(object interface{}) []error { func (v *SchemaValidation) validateList(object interface{}) []error {
fields := object.(map[string]interface{}) fields, ok := object.(map[string]interface{})
if fields == nil { if !ok || fields == nil {
return []error{errors.New("invalid object to validate")} return []error{errors.New("invalid object to validate")}
} }
allErrors := []error{} allErrors := []error{}
if _, ok := fields["items"].([]interface{}); !ok {
return []error{errors.New("invalid object to validate")}
}
for _, item := range fields["items"].([]interface{}) { for _, item := range fields["items"].([]interface{}) {
if gvk, errs := getObjectKind(item); errs != nil { if gvk, errs := getObjectKind(item); errs != nil {
allErrors = append(allErrors, errs...) allErrors = append(allErrors, errs...)
...@@ -101,8 +104,8 @@ func parse(data []byte) (interface{}, error) { ...@@ -101,8 +104,8 @@ func parse(data []byte) (interface{}, error) {
func getObjectKind(object interface{}) (schema.GroupVersionKind, []error) { func getObjectKind(object interface{}) (schema.GroupVersionKind, []error) {
var listErrors []error var listErrors []error
fields := object.(map[string]interface{}) fields, ok := object.(map[string]interface{})
if fields == nil { if !ok || fields == nil {
listErrors = append(listErrors, errors.New("invalid object to validate")) listErrors = append(listErrors, errors.New("invalid object to validate"))
return schema.GroupVersionKind{}, listErrors return schema.GroupVersionKind{}, listErrors
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment