Merge pull request #3304 from clayton-shopify/fix-array-size

Use size_t to calculate bytes needed for array.
This commit is contained in:
Yukihiro "Matz" Matsumoto
2016-11-30 03:00:43 +09:00
committed by GitHub
+1 -4
View File
@@ -20,15 +20,12 @@ static struct RArray*
ary_new_capa(mrb_state *mrb, mrb_int capa)
{
struct RArray *a;
mrb_int blen;
size_t blen;
if (capa > ARY_MAX_SIZE) {
mrb_raise(mrb, E_ARGUMENT_ERROR, "array size too big");
}
blen = capa * sizeof(mrb_value);
if (blen < capa) {
mrb_raise(mrb, E_ARGUMENT_ERROR, "array size too big");
}
a = (struct RArray*)mrb_obj_alloc(mrb, MRB_TT_ARRAY, mrb->array_class);
a->ptr = (mrb_value *)mrb_malloc(mrb, blen);