From be68b3a49030f592a10eacc180d21c38c5d5d5db Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Fri, 7 Jan 2022 09:47:09 -0500 Subject: [PATCH] Change termlen when changing encoding during concatenation After changing the encoding, we should update the terminator length. --- string.c | 1 + 1 file changed, 1 insertion(+) diff --git a/string.c b/string.c index d1b2e5aee0..777f9fadc4 100644 --- a/string.c +++ b/string.c @@ -3189,6 +3189,7 @@ rb_enc_cr_str_buf_cat(VALUE str, const char *ptr, long len, if (RSTRING_LEN(str) == 0) { rb_str_buf_cat(str, ptr, len); ENCODING_CODERANGE_SET(str, ptr_encindex, ptr_cr); + rb_str_change_terminator_length(str, rb_enc_mbminlen(str_enc), rb_enc_mbminlen(ptr_enc)); return str; } goto incompatible;