From 8f51da5d41f0642d5a971e4223d1ba14643c6398 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Fri, 21 Jun 2019 22:42:14 +0900 Subject: [PATCH] Get rid of undefined behavior * string.c (rb_str_sub_bang): str and repl can be same. [Bug #15946] --- string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/string.c b/string.c index 3feeb8c705..5a91f6bcda 100644 --- a/string.c +++ b/string.c @@ -5087,7 +5087,7 @@ rb_str_sub_bang(int argc, VALUE *argv, VALUE str) if (rlen != plen) { memmove(p + beg0 + rlen, p + beg0 + plen, len - beg0 - plen); } - memcpy(p + beg0, rp, rlen); + memmove(p + beg0, rp, rlen); len += rlen - plen; STR_SET_LEN(str, len); TERM_FILL(&RSTRING_PTR(str)[len], TERM_LEN(str));