From 0eb5c917e06561a0ce8957702d21c93ec803216f Mon Sep 17 00:00:00 2001 From: akr Date: Tue, 25 Dec 2007 09:28:31 +0000 Subject: * string.c (rb_str_each_line): don't call rb_enc_codepoint with empty string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ string.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index ad26d83687..5e0eba52d8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Dec 25 18:27:51 2007 Tanaka Akira + + * string.c (rb_str_each_line): don't call rb_enc_codepoint with empty + string. + Tue Dec 25 18:06:04 2007 Tanaka Akira * string.c (rb_str_inspect): don't call rb_enc_codepoint with empty diff --git a/string.c b/string.c index b06c2f5b8f..aaf14468af 100644 --- a/string.c +++ b/string.c @@ -4310,7 +4310,7 @@ rb_str_each_line(int argc, VALUE *argv, VALUE str) int n = rb_enc_codelen(c, enc); if (rslen == 0 && c == newline) { - while (rb_enc_codepoint(p, pend, enc) == newline) { + while (p < pend && rb_enc_codepoint(p, pend, enc) == newline) { p += n; } p -= n; -- cgit v1.2.3