summaryrefslogtreecommitdiff
path: root/string.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-12-16 01:12:09 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-12-16 01:12:09 +0000
commit75755ef159caafd4d2623b81928b4f7c0791f209 (patch)
tree6774e5a99e7a96436f5e1025a28392f22d829ab8 /string.c
parent17c2828581a4dcd9babb5c754f240aa86523c673 (diff)
fix chomping newline only line
* string.c (chomp_newline): fix chomping newline only line. rb_enc_prev_char return NULL if no previous character and must not call rb_enc_ascget on it. a patch by Ary Borenszweig <asterite AT gmail.com> at [ruby-core:78666]. [Bug #13037] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r--string.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/string.c b/string.c
index 8515773a84..fd17355346 100644
--- a/string.c
+++ b/string.c
@@ -7409,7 +7409,7 @@ chomp_newline(const char *p, const char *e, rb_encoding *enc)
if (rb_enc_is_newline(prev, e, enc)) {
e = prev;
prev = rb_enc_prev_char(p, e, e, enc);
- if (rb_enc_ascget(prev, e, NULL, enc) == '\r')
+ if (prev && rb_enc_ascget(prev, e, NULL, enc) == '\r')
e = prev;
}
return e;