summaryrefslogtreecommitdiffhomepage
path: root/src/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/string.c')
-rw-r--r--src/string.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/string.c b/src/string.c
index 5cca6d460..fd09e05dc 100644
--- a/src/string.c
+++ b/src/string.c
@@ -708,6 +708,9 @@ mrb_str_resize(mrb_state *mrb, mrb_value str, mrb_int len)
mrb_int slen;
struct RString *s = mrb_str_ptr(str);
+ if (len < 0) {
+ mrb_raisef(mrb, E_ARGUMENT_ERROR, "negative (or overflowed) string size");
+ }
mrb_str_modify(mrb, s);
slen = RSTR_LEN(s);
if (len != slen) {