Along with the unitialized beg, we found a len which doesn't appear to be
initialized anywhere either. Instead of the couple of patches proposed in the
earlier thread, this one seems like a better choice. Please take a look at
it and commit if appropriate.
diff -p -u -r1.186 array.c
--- array.c 12 Dec 2005 16:46:59 -0000 1.186
+++ array.c 3 May 2006 02:22:50 -0000
@@ -2102,6 +2102,8 @@ rb_ary_fill(int argc, VALUE *argv, VALUE
long beg, end, len;
VALUE *p, *pend;
int block_p = Qfalse;
+ beg = 0;
+ len = 0;
if (rb_block_given_p()) {
block_p = Qtrue;