summaryrefslogtreecommitdiffstats
path: root/src/H5Dint.c
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2016-04-29 19:06:36 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2016-04-29 19:06:36 (GMT)
commit4bbde7895e409ea9bbcab28a8d839284c114208d (patch)
tree39d1f0443ac553c8e156069702ba6867316d60ca /src/H5Dint.c
parent22d058d32e0403d7fe766281b60898efaed6e94c (diff)
downloadhdf5-4bbde7895e409ea9bbcab28a8d839284c114208d.zip
hdf5-4bbde7895e409ea9bbcab28a8d839284c114208d.tar.gz
hdf5-4bbde7895e409ea9bbcab28a8d839284c114208d.tar.bz2
[svn-r29837] Partial fix for Valgrind issue in test/external.c
Tested on: 64-bit Ubuntu 15.10 w/ gcc 5.2.1 autotools serial
Diffstat (limited to 'src/H5Dint.c')
-rw-r--r--src/H5Dint.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/H5Dint.c b/src/H5Dint.c
index 0e0843f..3d20e53 100644
--- a/src/H5Dint.c
+++ b/src/H5Dint.c
@@ -926,6 +926,7 @@ H5D_build_extfile_prefix(const H5D_t *dset, hid_t dapl_id, char **extfile_prefix
size_t extpath_len; /* length of extpath */
size_t prefix_len; /* length of prefix */
size_t extfile_prefix_len; /* length of expanded prefix */
+ hbool_t free_prefix = FALSE; /* Did the library allocate memory for prefix? */
H5P_genplist_t *plist = NULL; /* Property list pointer */
herr_t ret_value = SUCCEED; /* Return value */
@@ -949,6 +950,7 @@ H5D_build_extfile_prefix(const H5D_t *dset, hid_t dapl_id, char **extfile_prefix
HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't find object for ID")
/* No error checking possible here */
prefix = (char *)H5P_peek_voidp(plist, H5D_ACS_EFILE_PREFIX_NAME);
+ free_prefix = TRUE;
} /* end if */
/* Prefix has to be checked for NULL / empty string again because the
@@ -979,6 +981,8 @@ H5D_build_extfile_prefix(const H5D_t *dset, hid_t dapl_id, char **extfile_prefix
} /* end else */
done:
+ if(free_prefix && prefix)
+ H5MM_xfree(prefix);
FUNC_LEAVE_NOAPI(ret_value)
} /* H5D_build_extfile_prefix() */