ref: fe929114d3f34fe1999cd3cacd7f61c0ee0c0a54
parent: d15fda500028c05fde2aa28ea53868eec01140f6
author: Cameron Moore <[email protected]>
date: Tue Mar 29 14:54:46 EDT 2016
tpl: Fix panic in sort of nil sequence Properly handle a nil sequence in the sortSeq function. Test included. Discovered while using `range sort .Site.Data.source.Undefined "foo"`.
--- a/tpl/template_funcs.go
+++ b/tpl/template_funcs.go
@@ -957,6 +957,10 @@
// sortSeq returns a sorted sequence.
func sortSeq(seq interface{}, args ...interface{}) (interface{}, error) {
+ if seq == nil {
+ return nil, errors.New("sequence must be provided")
+ }
+
seqv := reflect.ValueOf(seq)
seqv, isNil := indirect(seqv)
if isNil {
--- a/tpl/template_funcs_test.go
+++ b/tpl/template_funcs_test.go
@@ -1565,6 +1565,7 @@
"asc",
false,
},
+ {nil, nil, "asc", false},
} {
var result interface{}
var err error