From e6d662e6b96edbe61eea7d1cce43893566c28039 Mon Sep 17 00:00:00 2001 From: Flaviu Tamas Date: Fri, 10 Apr 2015 13:18:08 -0400 Subject: Fix potential buffer overflow Under certain circumstances, it would be possible for a too-large number sent cause a buffer overflow by passing a too-large endpos. --- src/nre.nim | 1 + 1 file changed, 1 insertion(+) (limited to 'src/nre.nim') diff --git a/src/nre.nim b/src/nre.nim index b601d8222..a222da6c0 100644 --- a/src/nre.nim +++ b/src/nre.nim @@ -312,6 +312,7 @@ proc matchImpl(str: string, pattern: Regex, start, endpos: int, flags: int): Opt result.pcreMatchBounds.setLen(vecsize div 3) let strlen = if endpos == int.high: str.len else: endpos+1 + doAssert(strlen <= str.len) # don't want buffer overflows let execRet = pcre.exec(pattern.pcreObj, pattern.pcreExtra, -- cgit 1.4.1-2-gfad0