Hi! this simple program:
#include <sys/types.h>
#include <dirent.h>
int main ()
{
DIR* x = 0;
for (;;)
{
x = opendir ("/");
closedir (x);
}
return 0;
}
leaks memory and eventually dies with "can't allocate cygwin heap"
error message.
attached patch fix this.
do we need this "no free names" logic at all? the only suspicious
place is fhandler_disk_file::open () where we were storing pointer to
real_path's win32_path, so if it was changing later we were staying in
sync with those changes. but i can't see why it may change after open
is called, so making duplicate looks safe for me. Comments?
egor. mailto:[EMAIL PROTECTED] icq 5165414 fidonet 2:5020/496.19
cygheap-leak.diff
Description: Binary data
cygheap-leak.ChangeLog
Description: Binary data
