Commit c5eff2e4 authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto

Merge pull request #1391 from carsonmcdonald/fixfallbackarraysize

Changed use of MRB_INT_MAX to MRB_INT_MAX-1
parents 958d5b76 b9a32e43
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
#define ARY_DEFAULT_LEN 4 #define ARY_DEFAULT_LEN 4
#define ARY_SHRINK_RATIO 5 /* must be larger than 2 */ #define ARY_SHRINK_RATIO 5 /* must be larger than 2 */
#define ARY_C_MAX_SIZE (SIZE_MAX / sizeof(mrb_value)) #define ARY_C_MAX_SIZE (SIZE_MAX / sizeof(mrb_value))
#define ARY_MAX_SIZE ((ARY_C_MAX_SIZE < (size_t)MRB_INT_MAX) ? (mrb_int)ARY_C_MAX_SIZE : MRB_INT_MAX) #define ARY_MAX_SIZE ((ARY_C_MAX_SIZE < (size_t)MRB_INT_MAX) ? (mrb_int)ARY_C_MAX_SIZE : MRB_INT_MAX-1)
static inline mrb_value static inline mrb_value
ary_elt(mrb_value ary, mrb_int offset) ary_elt(mrb_value ary, mrb_int offset)
...@@ -40,7 +40,7 @@ ary_new_capa(mrb_state *mrb, mrb_int capa) ...@@ -40,7 +40,7 @@ ary_new_capa(mrb_state *mrb, mrb_int capa)
if (capa > ARY_MAX_SIZE) { if (capa > ARY_MAX_SIZE) {
mrb_raise(mrb, E_ARGUMENT_ERROR, "array size too big"); mrb_raise(mrb, E_ARGUMENT_ERROR, "array size too big");
} }
blen = capa * sizeof(mrb_value) ; blen = capa * sizeof(mrb_value);
if (blen < capa) { if (blen < capa) {
mrb_raise(mrb, E_ARGUMENT_ERROR, "array size too big"); mrb_raise(mrb, E_ARGUMENT_ERROR, "array size too big");
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment