diff --git a/array.c b/array.c index 90fad544f1..e5de0841aa 100644 --- a/array.c +++ b/array.c @@ -5269,7 +5269,7 @@ static VALUE flatten(VALUE ary, int level) { long i; - VALUE stack, result, tmp, elt, vmemo; + VALUE stack, result, tmp = 0, elt, vmemo; st_table *memo; st_data_t id; diff --git a/ext/stringio/stringio.c b/ext/stringio/stringio.c index 999e1f5907..b32a391b98 100644 --- a/ext/stringio/stringio.c +++ b/ext/stringio/stringio.c @@ -1532,7 +1532,6 @@ strio_read(int argc, VALUE *argv, VALUE self) long len; int binary = 0; - rb_check_arity(argc, 0, 2); switch (argc) { case 2: str = argv[1]; @@ -1572,6 +1571,8 @@ strio_read(int argc, VALUE *argv, VALUE self) len -= ptr->pos; } break; + default: + rb_error_arity(argc, 0, 2); } if (NIL_P(str)) { rb_encoding *enc = binary ? rb_ascii8bit_encoding() : get_enc(ptr); diff --git a/vm_insnhelper.h b/vm_insnhelper.h index ca8f4b02b6..5f51ccc964 100644 --- a/vm_insnhelper.h +++ b/vm_insnhelper.h @@ -140,7 +140,7 @@ CC_SET_FASTPATH(const struct rb_callcache *cc, vm_call_handler func, bool enable #if VM_CHECK_MODE > 0 #define SETUP_CANARY() \ - VALUE *canary; \ + VALUE *canary = 0; \ if (leaf) { \ canary = GET_SP(); \ SET_SV(vm_stack_canary); \