summaryrefslogtreecommitdiff
path: root/src/pkg/template/template.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/template/template.go')
-rw-r--r--src/pkg/template/template.go5
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
}