tpl/strings: Remove overflow check in strings.Repeat
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 3 Jun 2018 20:23:48 +0000 (23:23 +0300)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 3 Jun 2018 20:23:48 +0000 (23:23 +0300)
The test fails on 32 bit systems. Let it panic instead.

tpl/strings/strings.go
tpl/strings/strings_test.go

index 7bd6a9af04c7805f0d0fa77d87f4b5410f3ad57c..d7d8f2d85f917326bf6e0f991af637a0960d69fb 100644 (file)
@@ -432,8 +432,6 @@ func (ns *Namespace) Repeat(n, s interface{}) (string, error) {
 
        if sn < 0 {
                return "", errors.New("strings: negative Repeat count")
-       } else if sn > 0 && len(ss)*sn/sn != len(ss) {
-               return "", errors.New("strings: Repeat count causes overflow")
        }
 
        return _strings.Repeat(ss, sn), nil
index 6f714702ce7ecea2b90ebaa562b8d5398ec46a87..69863c30dd122e5145d0b4405285e35fefca7178 100644 (file)
@@ -16,7 +16,6 @@ package strings
 import (
        "fmt"
        "html/template"
-       "math"
        "testing"
 
        "github.com/gohugoio/hugo/deps"
@@ -730,7 +729,7 @@ func TestRepeat(t *testing.T) {
                // errors
                {"", tstNoStringer{}, false},
                {tstNoStringer{}, "", false},
-               {"ab", math.MaxInt64, false},
+               {"ab", -1, false},
        } {
                errMsg := fmt.Sprintf("[%d] %v", i, test)