diff --git a/ChangeLog b/ChangeLog index c331c17152..3f47593ccd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Oct 27 17:30:31 2006 Yukihiro Matsumoto + + * enumerator.c (enum_each_cons): move RETURN_ENUMERATOR() after + argument check. + Thu Oct 26 21:05:48 2006 GOTOU Yuuzou * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_verify): should clear error. diff --git a/enumerator.c b/enumerator.c index fc156bf96e..3f176a77a9 100644 --- a/enumerator.c +++ b/enumerator.c @@ -195,8 +195,8 @@ enum_each_cons(VALUE obj, VALUE n) long size = NUM2LONG(n); VALUE args[2]; - RETURN_ENUMERATOR(obj, 1, &n); if (size <= 0) rb_raise(rb_eArgError, "invalid size"); + RETURN_ENUMERATOR(obj, 1, &n); args[0] = rb_ary_new2(size); args[1] = (VALUE)size;