summaryrefslogtreecommitdiff
path: root/src/if_ruby.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-09-03 15:17:48 +0200
committerBram Moolenaar <Bram@vim.org>2017-09-03 15:17:48 +0200
commit00ccf54630dc68a9b8aedb92b268f3b697081f68 (patch)
tree22c23c284f264a80d2de617b2b60bf1bbd61a94e /src/if_ruby.c
parentae96b8d058cffd9d07b78cb7a9ccd382185b9dd6 (diff)
downloadvim-git-00ccf54630dc68a9b8aedb92b268f3b697081f68.tar.gz
patch 8.0.1047: buffer overflow in Rubyv8.0.1047
Problem: Buffer overflow in Ruby. Solution: Allocate one more byte. (Dominique Pelle)
Diffstat (limited to 'src/if_ruby.c')
-rw-r--r--src/if_ruby.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/if_ruby.c b/src/if_ruby.c
index 02b59dd14..d38ed2fbb 100644
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -984,7 +984,7 @@ static VALUE vim_message(VALUE self UNUSED, VALUE str)
if (RSTRING_LEN(str) > 0)
{
/* Only do this when the string isn't empty, alloc(0) causes trouble. */
- buff = ALLOCA_N(char, RSTRING_LEN(str));
+ buff = ALLOCA_N(char, RSTRING_LEN(str) + 1);
strcpy(buff, RSTRING_PTR(str));
p = strchr(buff, '\n');
if (p) *p = '\0';