summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index 82068f140f..0e8b5cc0bd 100644
--- a/eval.c
+++ b/eval.c
@@ -5049,14 +5049,13 @@ eval(self, src, scope, file, line)
if (strcmp(file, "(eval)") == 0) {
if (ruby_sourceline > 1) {
errat = get_backtrace(ruby_errinfo);
- err = RARRAY(errat)->ptr[0];
+ err = rb_str_dup(RARRAY(errat)->ptr[0]);
rb_str_cat2(err, ": ");
rb_str_append(err, ruby_errinfo);
}
else {
err = rb_str_dup(ruby_errinfo);
}
- errat = Qnil;
rb_exc_raise(rb_funcall(ruby_errinfo, rb_intern("exception"), 1, err));
}
rb_exc_raise(ruby_errinfo);