diff --git a/object.c b/object.c index 63d906e45b..a981319e37 100644 --- a/object.c +++ b/object.c @@ -2597,8 +2597,10 @@ rb_f_array(VALUE obj, VALUE arg) VALUE rb_Hash(VALUE val) { + VALUE tmp; + if (NIL_P(val)) return rb_hash_new(); - VALUE tmp = rb_check_hash_type(val); + tmp = rb_check_hash_type(val); if (NIL_P(tmp)) { if (RB_TYPE_P(val, T_ARRAY) && RARRAY_LEN(val) == 0) return rb_hash_new();