mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-23 21:53:09 +02:00
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:
committed by
Bjørn Erik Pedersen
parent
d15fda5000
commit
fe929114d3
@@ -957,6 +957,10 @@ func delimit(seq, delimiter interface{}, last ...interface{}) (template.HTML, er
|
|||||||
|
|
||||||
// sortSeq returns a sorted sequence.
|
// sortSeq returns a sorted sequence.
|
||||||
func sortSeq(seq interface{}, args ...interface{}) (interface{}, error) {
|
func sortSeq(seq interface{}, args ...interface{}) (interface{}, error) {
|
||||||
|
if seq == nil {
|
||||||
|
return nil, errors.New("sequence must be provided")
|
||||||
|
}
|
||||||
|
|
||||||
seqv := reflect.ValueOf(seq)
|
seqv := reflect.ValueOf(seq)
|
||||||
seqv, isNil := indirect(seqv)
|
seqv, isNil := indirect(seqv)
|
||||||
if isNil {
|
if isNil {
|
||||||
|
@@ -1565,6 +1565,7 @@ func TestSort(t *testing.T) {
|
|||||||
"asc",
|
"asc",
|
||||||
false,
|
false,
|
||||||
},
|
},
|
||||||
|
{nil, nil, "asc", false},
|
||||||
} {
|
} {
|
||||||
var result interface{}
|
var result interface{}
|
||||||
var err error
|
var err error
|
||||||
|
Reference in New Issue
Block a user