core: fix for #813 - added a gaurd for interface conversion

This commit is contained in:
Greg Osuri 2015-01-16 00:16:38 -08:00
parent 89c3766b66
commit f870eff5f9
1 changed files with 8 additions and 7 deletions

View File

@ -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
}