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"`.
This commit is contained in:
Cameron Moore 2016-03-29 18:54:46 -05:00 committed by Bjørn Erik Pedersen
parent d15fda5000
commit fe929114d3
2 changed files with 5 additions and 0 deletions

View file

@ -957,6 +957,10 @@ func delimit(seq, delimiter interface{}, last ...interface{}) (template.HTML, er
// 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 {

View file

@ -1565,6 +1565,7 @@ func TestSort(t *testing.T) {
"asc",
false,
},
{nil, nil, "asc", false},
} {
var result interface{}
var err error