summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fortran/src/H5Ef.c7
-rw-r--r--fortran/src/H5Pf.c3
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;