summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--string.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/string.c b/string.c
index 9cc4dfd3ce..0a5a81c3e0 100644
--- a/string.c
+++ b/string.c
@@ -5148,7 +5148,9 @@ rb_str_drop_bytes(VALUE str, long len)
}
STR_SET_LEN(str, nlen);
- ptr[nlen] = 0;
+ if (!SHARABLE_MIDDLE_SUBSTRING) {
+ TERM_FILL(ptr + nlen, TERM_LEN(str));
+ }
ENC_CODERANGE_CLEAR(str);
return str;
}