summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-22 21:15:23 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-22 21:15:23 +0000
commit87c828e39eb49269ca367f1adaec9d07bfed8f4a (patch)
tree8e640718601a18a357557513cdf47afc481093d9
parente12388713f498879e055b11b8b464556757a5be5 (diff)
* iseq.c (rb_iseq_compile_with_option): get rid of segv.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--iseq.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a0bc5259d8..ea9f685673 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri May 23 06:15:20 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * iseq.c (rb_iseq_compile_with_option): get rid of segv.
+
Fri May 23 02:29:14 2008 Koichi Sasada <ko1@atdot.net>
* insns.def (opt_gt|ge|lt|le): use values directly to compare.
diff --git a/iseq.c b/iseq.c
index 562a8ca526..030927ab37 100644
--- a/iseq.c
+++ b/iseq.c
@@ -443,7 +443,7 @@ rb_iseq_compile_with_option(VALUE src, VALUE file, VALUE line, VALUE opt)
rb_thread_t *th = GET_THREAD();
make_compile_option(&option, opt);
- if (th->base_block) {
+ if (th->base_block && th->base_block->iseq) {
return rb_iseq_new_with_opt(node, th->base_block->iseq->name,
file, th->base_block->iseq->self,
ISEQ_TYPE_EVAL, &option);