diff options
Diffstat (limited to 'src/pkg/template/template.go')
-rw-r--r-- | src/pkg/template/template.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/pkg/template/template.go b/src/pkg/template/template.go index a67dbf8ad..078463aaf 100644 --- a/src/pkg/template/template.go +++ b/src/pkg/template/template.go @@ -622,7 +622,10 @@ func (t *Template) lookup(st *state, v reflect.Value, name string) reflect.Value } return av.FieldByName(name) case *reflect.MapValue: - return av.Elem(reflect.NewValue(name)) + if v := av.Elem(reflect.NewValue(name)); v != nil { + return v + } + return reflect.MakeZero(typ.(*reflect.MapType).Elem()) default: return nil } |