From a93a2f88d277b14818d0240ef48f2f2311933d2e Mon Sep 17 00:00:00 2001 From: nagachika Date: Wed, 7 Aug 2019 13:05:00 +0000 Subject: merge revision(s) 5931857281ce45c1c277aa86d1588119ab00a955,76e2370f132f83c16c9de39a0a9356579f364527: [Backport #16041] Fix dangling path name from fstring * parse.y (yycompile): make sure in advance that the `__FILE__` object shares a fstring, to get rid of dangling path name. Fixed up 53e9908d8afc7f03109b0aafd1698ab35f512b05. [Bug #16041] * vm_eval.c (eval_make_iseq): ditto. Fix dangling path name from fstring * load.c (rb_require_internal): make sure in advance that the path to be loaded shares a fstring, to get rid of dangling path name. Fixed up 5931857281ce45c1c277aa86d1588119ab00a955. [Bug #16041] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- load.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'load.c') diff --git a/load.c b/load.c index 544357daba..57a9c9c287 100644 --- a/load.c +++ b/load.c @@ -1016,7 +1016,7 @@ rb_require_internal(VALUE fname, int safe) RUBY_DTRACE_HOOK(FIND_REQUIRE_RETURN, RSTRING_PTR(fname)); if (found) { - if (!path || !(ftptr = load_lock(RSTRING_PTR(path)))) { + if (!path || !(path = rb_fstring(path), ftptr = load_lock(RSTRING_PTR(path)))) { result = 0; } else if (!*ftptr) { -- cgit v1.2.3