Hi,

is there a small leak in dir.c?
Index: dir.c
===================================================================
RCS file: /src/ruby/dir.c,v
retrieving revision 1.82
diff -u -p -r1.82 dir.c
--- dir.c	16 Jan 2003 07:34:01 -0000	1.82
+++ dir.c	28 Jan 2003 18:24:39 -0000
@@ -778,6 +778,7 @@ glob_helper(path, sub, flags, func, arg)
  		    sprintf(buf, "%s%s%s", base, (BASE) ? "/" : "", dp->d_name);
  		    if (lstat(buf, &st) < 0) {
  			if (errno != ENOENT) rb_sys_warning(buf);
+			free(buf);
  			continue;
  		    }
  		    if (S_ISDIR(st.st_mode)) {


This I've found on disk: Is there any reason to allocate ary with 2000?
Index: enum.c
===================================================================
RCS file: /src/ruby/enum.c,v
retrieving revision 1.29
diff -u -p -r1.29 enum.c
--- enum.c	2002/08/01 09:42:36	1.29
+++ enum.c	2002/10/01 10:35:22
@@ -274,7 +274,12 @@ enum_sort_by(obj)
      VALUE ary;
      long i;

-    ary  = rb_ary_new2((TYPE(obj) == T_ARRAY) ? RARRAY(obj)->len : 2000);
+    if (TYPE(obj) == T_ARRAY) {
+	ary  = rb_ary_new2(RARRAY(obj)->len);
+    }
+    else {
+	ary = rb_ary_new();
+    }
      rb_iterate(rb_each, obj, sort_by_i, ary);
      if (RARRAY(ary)->len > 1) {
  	qsort(RARRAY(ary)->ptr, RARRAY(ary)->len, sizeof(VALUE), sort_by_cmp);

Michal