summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-03-19 14:12:00 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-03-19 14:12:00 +0000
commit69161305662bd96e9e1f1bb261a750b636b99f93 (patch)
treed4cc8e063843d1d3ce3ee66c1ba904a7ef5e7b02 /parse.y
parent68f374727ae772476d617af9f059e9b66e8176fb (diff)
parse.y: NUL-terminate ruby_sourcefile
* parse.y (yycompile): in some cases (warning, error, dtrace,...), ruby_sourcefile is expected to be NUL-terminated, so ensure it. * template/prelude.c.tmpl (prelude_name): NUL-terminate to get rid of copying static data. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y2
1 files changed, 1 insertions, 1 deletions
diff --git a/parse.y b/parse.y
index eb9c00d72b..b85637f0ae 100644
--- a/parse.y
+++ b/parse.y
@@ -4889,7 +4889,7 @@ yycompile(VALUE vparser, struct parser_params *p, VALUE fname, int line)
{
rb_ast_t *ast;
p->ruby_sourcefile_string = rb_str_new_frozen(fname);
- p->ruby_sourcefile = RSTRING_PTR(fname);
+ p->ruby_sourcefile = StringValueCStr(fname);
p->ruby_sourceline = line - 1;
p->ast = ast = rb_ast_new();