From 7b0433984c9f672fcde3f7cd39d1cdbd60abb6e7 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 18 Jun 2015 22:16:28 -0700 Subject: * lib.c (mkstring): Fix neglect to null terminate. --- ChangeLog | 4 ++++ lib.c | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5d4c51f6..82b28fc1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2015-06-18 Kaz Kylheku + + * lib.c (mkstring): Fix neglect to null terminate. + 2015-06-18 Kaz Kylheku * lib.c (cat_str): Detect overflow in the total length diff --git a/lib.c b/lib.c index 656c127e..0e8a15e1 100644 --- a/lib.c +++ b/lib.c @@ -2274,10 +2274,11 @@ val string_utf8(const char *str) val mkstring(val len, val ch) { - size_t nchar = c_num(len) + 1; - wchar_t *str = coerce(wchar_t *, chk_malloc(nchar * sizeof *str)); + size_t l = c_num(len); + wchar_t *str = coerce(wchar_t *, chk_malloc((l + 1) * sizeof *str)); val s = string_own(str); - wmemset(str, c_chr(ch), nchar); + wmemset(str, c_chr(ch), l); + str[l] = 0; s->st.len = len; s->st.alloc = plus(len, one); return s; -- cgit v1.2.3