Do not read past end of input. Ensure NUL termination.
This commit is contained in:
parent
ae303cc1c3
commit
18df5dad11
1 changed files with 2 additions and 1 deletions
|
|
@ -82,7 +82,8 @@ proc copyStr(s: NimString, start: int): NimString {.compilerProc.} =
|
||||||
proc toNimStr(str: cstring, len: int): NimString {.compilerProc.} =
|
proc toNimStr(str: cstring, len: int): NimString {.compilerProc.} =
|
||||||
result = rawNewStringNoInit(len)
|
result = rawNewStringNoInit(len)
|
||||||
result.len = 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.} =
|
proc cstrToNimstr(str: cstring): NimString {.compilerRtl.} =
|
||||||
result = toNimStr(str, c_strlen(str))
|
result = toNimStr(str, c_strlen(str))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue