summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--string.c2
-rw-r--r--version.h6
3 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 2e2669bcdc..7e9379c4a0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,11 @@ Tue May 13 08:25:31 2008 Tanaka Akira <akr@fsij.org>
(rb_f_readline): ditto.
(rb_f_readlines): ditto.
+Tue May 13 07:56:36 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * string.c (rb_str_cat): fixed buffer overrun reported by
+ Christopher Thompson <cthompson at nexopia.com> in [ruby-core:16746]
+
Mon May 12 23:37:57 2008 Yusuke Endoh <mame@tsg.ne.jp>
* vm.c (collect_local_variables_in_env): remove unnecessary check
diff --git a/string.c b/string.c
index f6797648b4..7fd09d0b3a 100644
--- a/string.c
+++ b/string.c
@@ -1448,7 +1448,7 @@ rb_str_cat(VALUE str, const char *ptr, long len)
if (STR_ASSOC_P(str)) {
rb_str_modify(str);
if (STR_EMBED_P(str)) str_make_independent(str);
- REALLOC_N(RSTRING(str)->as.heap.ptr, char, RSTRING(str)->as.heap.len+len);
+ REALLOC_N(RSTRING(str)->as.heap.ptr, char, RSTRING(str)->as.heap.len+len+1);
memcpy(RSTRING(str)->as.heap.ptr + RSTRING(str)->as.heap.len, ptr, len);
RSTRING(str)->as.heap.len += len;
RSTRING(str)->as.heap.ptr[RSTRING(str)->as.heap.len] = '\0'; /* sentinel */
diff --git a/version.h b/version.h
index be2cc3b0d8..4f7ca0d678 100644
--- a/version.h
+++ b/version.h
@@ -1,7 +1,7 @@
#define RUBY_VERSION "1.9.0"
-#define RUBY_RELEASE_DATE "2008-05-12"
+#define RUBY_RELEASE_DATE "2008-05-13"
#define RUBY_VERSION_CODE 190
-#define RUBY_RELEASE_CODE 20080512
+#define RUBY_RELEASE_CODE 20080513
#define RUBY_PATCHLEVEL 0
#define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
#define RUBY_VERSION_TEENY 0
#define RUBY_RELEASE_YEAR 2008
#define RUBY_RELEASE_MONTH 5
-#define RUBY_RELEASE_DAY 12
+#define RUBY_RELEASE_DAY 13
#ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[];