From 2d1e5bcefc795115d6eaeceba9bf0b173efd1f57 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 28 Jul 2014 20:36:50 +0000 Subject: marshal.c: fix instance variable load odrder * marshal.c (r_symreal): fix instance variable load odrder, its name must be read before its value. the order of function call arguments is not stable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- marshal.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'marshal.c') diff --git a/marshal.c b/marshal.c index 44f56ae411..b14635f034 100644 --- a/marshal.c +++ b/marshal.c @@ -1315,7 +1315,8 @@ r_symreal(struct load_arg *arg, int ivar) if (ivar) { long num = r_long(arg); while (num-- > 0) { - idx = sym2encidx(r_symbol(arg), r_object(arg)); + sym = r_symbol(arg); + idx = sym2encidx(sym, r_object(arg)); } } if (idx > 0) rb_enc_associate_index(s, idx); -- cgit v1.2.3