From 44368b5f8bc21e19fa06a0fc0625923fc41293e6 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Thu, 6 Jan 2022 13:32:59 -0500 Subject: [PATCH] Set encoding before concatenating to string If we set encoding after the call to rb_str_buf_cat, then rb_str_buf_cat will not set the correct terminator length. --- string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/string.c b/string.c index cdb8658d7f..5b3c7cd57b 100644 --- a/string.c +++ b/string.c @@ -3186,8 +3186,8 @@ rb_enc_cr_str_buf_cat(VALUE str, const char *ptr, long len, if (len == 0) return str; if (RSTRING_LEN(str) == 0) { - rb_str_buf_cat(str, ptr, len); ENCODING_CODERANGE_SET(str, ptr_encindex, ptr_cr); + rb_str_buf_cat(str, ptr, len); return str; } goto incompatible;