------- Comment #7 from fxcoudert at gcc dot gnu dot org 2008-02-05 10:55
-------
OK, found it by commenting out various parts of the I/O library until it
disappeared. The leak is the following line in data_transfer_init (transfer.c):
dtp->u.p.current_unit = get_unit (dtp, 1);
The memory allocated for the unit is never freed. This also happens for
external units:
program test
do
open(10,file="foo",status="replace")
write(10,'()')
close(10)
end do
end program test
(under Windows, the number of handles will grow indefinitely, like for the
internal unit case).
--
fxcoudert at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|write statement leaks |I/O leaks handles/memory on
|handles/memory on windows xp|Windows XP
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35063