With this patch, it doesn't leak any more on Linux: it is against the stable-snapshot ruby 1.6.6 (2001-12-13) [i686-linux] --- parse.y.old Mon Dec 17 15:28:17 2001 +++ parse.y Mon Dec 17 15:24:40 2001 @@ -2052,12 +2052,16 @@ VALUE file; int start; { + NODE *result; + char *f_tmp = strdup(f); lex_gets = rb_io_gets; lex_input = file; lex_pbeg = lex_p = lex_pend = 0; ruby_sourceline = start - 1; - return yycompile(strdup(f), start); + result = yycompile(f_tmp, start); + free(f_tmp); + return result; } static inline int Bye, Martin. -- The early bird catches the worm. If you want something else for breakfast, get up later.