summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-11 11:39:09 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-11 11:39:09 +0000
commit96765d153f5d277734c7cc9ace394edd9299576e (patch)
tree8bce5ede827990c688f775d535fc8581e514d5be
parent199a95775b4f0e8d7ecab2946b8d7c250a695f40 (diff)
* iseq.c (rb_iseq_clone): should preserve cref_stack link.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--iseq.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2d95c509b6..88627eedbd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Aug 11 20:37:05 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * iseq.c (rb_iseq_clone): should preserve cref_stack link.
+
Mon Aug 11 20:27:12 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* ext/dl/cfunc.c (rb_dlcfunc_call): add taint check.
diff --git a/iseq.c b/iseq.c
index f5dd37d264..84c3b741e5 100644
--- a/iseq.c
+++ b/iseq.c
@@ -1246,6 +1246,9 @@ rb_iseq_clone(VALUE iseqval, VALUE newcbase)
}
if (newcbase) {
iseq1->cref_stack = NEW_BLOCK(newcbase);
+ if (iseq0->cref_stack->nd_next) {
+ iseq1->cref_stack->nd_next = iseq0->cref_stack->nd_next;
+ }
}
return newiseq;