From 40d034b7e37dd3d19f324ec8bcef5fafc03fed2a Mon Sep 17 00:00:00 2001 From: Chris Heller Date: Fri, 16 Dec 2016 01:33:44 -0800 Subject: Guard against calling split with an empty string as a separator. Fixes #5119 --- lib/pure/strutils.nim | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'lib') diff --git a/lib/pure/strutils.nim b/lib/pure/strutils.nim index 14877eb4d..45c2669f9 100644 --- a/lib/pure/strutils.nim +++ b/lib/pure/strutils.nim @@ -808,6 +808,11 @@ proc split*(s: string, sep: string, maxsplit: int = -1): seq[string] {.noSideEff ## ## Substrings are separated by the string `sep`. This is a wrapper around the ## `split iterator <#split.i,string,string>`_. + ## + ## If `sep` is an empty string, `ValueError` is raised. + if sep.len == 0: + raise newException(ValueError, "invalid separator: empty string not allowed") + accumulateResult(split(s, sep, maxsplit)) proc rsplit*(s: string, seps: set[char] = Whitespace, -- cgit 1.4.1-2-gfad0