diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-07-01 13:56:55 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-07-01 13:56:55 +0900 |
commit | 99dc885974bfe637f3e74f52efdbbf77d66d0d68 (patch) | |
tree | 5ac459dc3dcb36217fe674a0936ed4f8d361315b /variable.c | |
parent | 6982a9049ede1386fdfa10734f953867824ebe05 (diff) | |
download | bundler-99dc885974bfe637f3e74f52efdbbf77d66d0d68.tar.gz |
Fixed inadvertent ID creation in rb_iv_get
Diffstat (limited to 'variable.c')
-rw-r--r-- | variable.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/variable.c b/variable.c index a6910985fa..b902fef003 100644 --- a/variable.c +++ b/variable.c @@ -3361,8 +3361,13 @@ rb_mod_remove_cvar(VALUE mod, VALUE name) VALUE rb_iv_get(VALUE obj, const char *name) { - ID id = rb_intern(name); + ID id = rb_check_id_cstr(name, strlen(name), rb_usascii_encoding()); + if (!id) { + if (RTEST(ruby_verbose)) + rb_warning("instance variable %s not initialized", name); + return Qnil; + } return rb_ivar_get(obj, id); } |