diff options
Diffstat (limited to 'vendor/github.com/d5/tengo/objects/builtin_print.go')
-rw-r--r-- | vendor/github.com/d5/tengo/objects/builtin_print.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/vendor/github.com/d5/tengo/objects/builtin_print.go b/vendor/github.com/d5/tengo/objects/builtin_print.go index c5fe36db..58f22610 100644 --- a/vendor/github.com/d5/tengo/objects/builtin_print.go +++ b/vendor/github.com/d5/tengo/objects/builtin_print.go @@ -2,6 +2,8 @@ package objects import ( "fmt" + + "github.com/d5/tengo" ) // print(args...) @@ -71,5 +73,11 @@ func builtinSprintf(args ...Object) (Object, error) { formatArgs[idx] = objectToInterface(arg) } - return &String{Value: fmt.Sprintf(format.Value, formatArgs...)}, nil + s := fmt.Sprintf(format.Value, formatArgs...) + + if len(s) > tengo.MaxStringLen { + return nil, ErrStringLimit + } + + return &String{Value: s}, nil } |