http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55469
--- Comment #5 from Matthias Krack <matthias.krack at gmail dot com> 2012-11-29 10:16:06 UTC --- Memory leaks are still present for other choices of the string t. For instance t="." or t="./" is still causing memory leaks for the test case in comment 1 as detected by valgrind 3.8.1 for a patched (see comment 3) gcc version 4.7.3 20121129 (prerelease) (GCC) ==25497== 300 bytes in 1 blocks are definitely lost in loss record 1 of 1 ==25497== at 0x4A0765C: malloc (vg_replace_malloc.c:270) ==25497== by 0x4C29208: _gfortrani_get_mem (memory.c:43) ==25497== by 0x4CDD799: push_char (list_read.c:78) ==25497== by 0x4CDE892: read_real (list_read.c:1408) ==25497== by 0x4CE0F86: _gfortrani_list_formatted_read (list_read.c:1876) It seems that the logic for the memory cleanup is still incomplete. Note, that the memory leaks appear only if the IOSTAT parameter is present in the READ statement.