summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--lib.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 96476fcb..cf47df66 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-02-24 Kaz Kylheku <kkylheku@gmail.com>
+
+ * lib.c (init_str): Bugfix: copy only len characters, not len + 1, so
+ that we don't clobber the null terminator in the target string, or try
+ read past the end of the source data. This affects the @(freeform)
+ directive.
+
2010-01-26 Kaz Kylheku <kkylheku@gmail.com>
Version 033
diff --git a/lib.c b/lib.c
index 30d7b661..3135d57f 100644
--- a/lib.c
+++ b/lib.c
@@ -791,7 +791,7 @@ val mkustring(val len)
val init_str(val str, const wchar_t *data)
{
- wmemcpy(str->st.str, data, c_num(str->st.len) + 1);
+ wmemcpy(str->st.str, data, c_num(str->st.len));
return str;
}