From 18df5dad113c24696c3cae45ffdfe663f7d7b4ef Mon Sep 17 00:00:00 2001 From: Charles Blake Date: Sun, 26 Jul 2015 09:02:43 -0400 Subject: [PATCH] Do not read past end of input. Ensure NUL termination. --- lib/system/sysstr.nim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/system/sysstr.nim b/lib/system/sysstr.nim index 326c601bda..e4673b169e 100644 --- a/lib/system/sysstr.nim +++ b/lib/system/sysstr.nim @@ -82,7 +82,8 @@ proc copyStr(s: NimString, start: int): NimString {.compilerProc.} = proc toNimStr(str: cstring, len: int): NimString {.compilerProc.} = result = rawNewStringNoInit(len) result.len = len - c_memcpy(result.data, str, len + 1) + c_memcpy(result.data, str, len) + result[result.len] = '\0' proc cstrToNimstr(str: cstring): NimString {.compilerRtl.} = result = toNimStr(str, c_strlen(str))