[svn-r20274] Purpose:

Fixed Bug 2214 - GMQS: h5diff - memory leak in diff()

Description:
    Memory leaks occurred when accessing symbolic links with --follow-symlink
    option. 
    Test cases are in testing script. (400 - 456, 501 - 518)
    An example test : valgrind  --leak-check=full  h5diff --follow-symlinks -v h5diff_softlinks.h5 h5diff_softlinks.h5

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake - jam
This commit is contained in:
Jonathan Kim 2011-03-18 15:13:16 -05:00
parent d697acbfb5
commit f845e716bc
2 changed files with 8 additions and 7 deletions

View File

@ -506,6 +506,8 @@ Bug Fixes since HDF5-1.8.0 release
Tools
-----
- Fixed memory leak for h5diff when accessing symbolic links with
--follow-symlink option. Bug#2214 (JKM 2011/3/18)
- Fixed memory leak for h5diff when access variable length string
data. Bug#2216 (JKM 2011/3/18)
- Fixed and improved help page for -a option of h5ls.

View File

@ -1958,9 +1958,6 @@ hsize_t diff(hid_t file1_id,
if(options->m_verbose)
print_found(nfound);
/* free link info buffer */
HDfree(linkinfo1.trg_path);
HDfree(linkinfo2.trg_path);
}
break;
@ -2007,10 +2004,6 @@ hsize_t diff(hid_t file1_id,
file2_id, path2,
options, linkinfo1.trg_type);
}
/* free link info buffer */
HDfree(linkinfo1.trg_path);
HDfree(linkinfo2.trg_path);
} /* end if */
else
{
@ -2045,6 +2038,12 @@ hsize_t diff(hid_t file1_id,
break;
}
/* free link info buffer */
if (linkinfo1.trg_path)
HDfree(linkinfo1.trg_path);
if (linkinfo2.trg_path)
HDfree(linkinfo2.trg_path);
return nfound;
out: