From f870eff5f90cad94e50ba66514dc061328aaf2a4 Mon Sep 17 00:00:00 2001 From: Greg Osuri Date: Fri, 16 Jan 2015 00:16:38 -0800 Subject: [PATCH] core: fix for #813 - added a gaurd for interface conversion --- helper/schema/field_writer_map.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/helper/schema/field_writer_map.go b/helper/schema/field_writer_map.go index a9b38ac45..5b19a0311 100644 --- a/helper/schema/field_writer_map.go +++ b/helper/schema/field_writer_map.go @@ -293,14 +293,15 @@ func (w *MapFieldWriter) setSet( } k := strings.Join(addr, ".") - for code, elem := range value.(*Set).m { - codeStr := strconv.FormatInt(int64(code), 10) - if err := w.set(append(addrCopy, codeStr), elem); err != nil { - return err + + if value != nil { + for code, elem := range value.(*Set).m { + codeStr := strconv.FormatInt(int64(code), 10) + if err := w.set(append(addrCopy, codeStr), elem); err != nil { + return err + } } + w.result[k+".#"] = strconv.Itoa(value.(*Set).Len()) } - - w.result[k+".#"] = strconv.Itoa(value.(*Set).Len()) return nil - }