diff options
author | Elena Pourmal <epourmal@hdfgroup.org> | 2002-03-06 22:47:01 (GMT) |
---|---|---|
committer | Elena Pourmal <epourmal@hdfgroup.org> | 2002-03-06 22:47:01 (GMT) |
commit | 4dcb0766fc329a6f61cc3b45128c0c3bfe7a4e9f (patch) | |
tree | 04c2e71d9deda652d1bcba77f7e2e08d70de1379 /fortran/src | |
parent | aa5d82f9b0340aa5de9cf2c93ef3a1cd99867f56 (diff) | |
download | hdf5-4dcb0766fc329a6f61cc3b45128c0c3bfe7a4e9f.zip hdf5-4dcb0766fc329a6f61cc3b45128c0c3bfe7a4e9f.tar.gz hdf5-4dcb0766fc329a6f61cc3b45128c0c3bfe7a4e9f.tar.bz2 |
[svn-r5038]
Purpose:
Bug fix
Description:
Several C stub functions were not releasing allocated strings.
Solution:
Fixed
Platforms tested:
Solaris 2.7
Diffstat (limited to 'fortran/src')
-rw-r--r-- | fortran/src/H5Ef.c | 7 | ||||
-rw-r--r-- | fortran/src/H5Pf.c | 3 |
2 files changed, 8 insertions, 2 deletions
diff --git a/fortran/src/H5Ef.c b/fortran/src/H5Ef.c index de991e3..7b5aea4 100644 --- a/fortran/src/H5Ef.c +++ b/fortran/src/H5Ef.c @@ -49,14 +49,17 @@ nh5eprint_c1(_fcd name, int_f* namelen) int c_namelen; c_namelen = *namelen; c_name = (char*)HD5f2cstring(name, c_namelen); + if(c_name == NULL) return ret_val; file = fopen(c_name, "a"); - if(!file) return ret_val; + if(!file) { HDfree(c_name); + return ret_val; + } /* * Call H5Eprint function. */ status = H5Eprint(file); fclose(file); - + HDfree(c_name); if(status < 0) return ret_val; ret_val = 0; return ret_val; diff --git a/fortran/src/H5Pf.c b/fortran/src/H5Pf.c index 8ff97d4..e43ec59 100644 --- a/fortran/src/H5Pf.c +++ b/fortran/src/H5Pf.c @@ -1183,6 +1183,8 @@ nh5pset_fapl_split_c(hid_t_f *prp_id, int_f* meta_len, _fcd meta_ext, hid_t_f* m c_meta_plist = *meta_plist; c_raw_plist = *raw_plist; ret = H5Pset_fapl_split(c_prp_id, c_meta_ext, c_meta_plist, c_raw_ext, c_raw_plist ); + HDfree(c_meta_ext); + HDfree(c_raw_ext); if (ret < 0) return ret_value; ret_value = 0; return ret_value; @@ -1540,6 +1542,7 @@ nh5pset_external_c (hid_t_f *prp_id, _fcd name, int_f* namelen, int_f* offset, h */ c_prp_id = *prp_id; ret = H5Pset_external(c_prp_id, c_name, c_offset, c_bytes); + HDfree(c_name); if (ret < 0) return ret_value; ret_value = 0; |