diff options
Diffstat (limited to 'src/string.c')
| -rw-r--r-- | src/string.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/string.c b/src/string.c index a177aafba..56eeef3a2 100644 --- a/src/string.c +++ b/src/string.c @@ -759,6 +759,9 @@ mrb_str_concat(mrb_state *mrb, mrb_value self, mrb_value other) } len = RSTR_LEN(s1) + RSTR_LEN(s2); + if (len < 0 || len >= MRB_INT_MAX) { + mrb_raise(mrb, E_ARGUMENT_ERROR, "string size too big"); + } if (RSTRING_CAPA(self) < len) { resize_capa(mrb, s1, len); } |
