summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2014-03-31 23:35:09 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2014-03-31 23:35:09 (GMT)
commitd01ee66666f4cad8e5f3f67a51a5774adcc03e45 (patch)
tree1980b2237af734a2784314b85a8b8f4edbfcf14e /tools
parentef9db69bf33a200f81ebb3e29dbcbbdab92938cf (diff)
downloadhdf5-d01ee66666f4cad8e5f3f67a51a5774adcc03e45.zip
hdf5-d01ee66666f4cad8e5f3f67a51a5774adcc03e45.tar.gz
hdf5-d01ee66666f4cad8e5f3f67a51a5774adcc03e45.tar.bz2
[svn-r24937] Adds an H5free_memory() function to the library for use with
functions that return library-allocated memory. The test and tool code were modified to use this new function where it's appropriate. Fixes HDFFV-7710, HDFFV-8519, and HDFFV-8551 Tested on: 64-bit Windows 7 w/ VS2012 32-bit LE linux w/ parallel and fortran (jam) 32-bit LE linux w/ fortran and C++ (jam)
Diffstat (limited to 'tools')
-rw-r--r--tools/h5dump/h5dump_xml.c9
-rw-r--r--tools/h5ls/h5ls.c6
-rw-r--r--tools/lib/h5tools_dump.c6
-rw-r--r--tools/lib/h5tools_str.c2
-rw-r--r--tools/misc/talign.c6
5 files changed, 15 insertions, 14 deletions
diff --git a/tools/h5dump/h5dump_xml.c b/tools/h5dump/h5dump_xml.c
index b94879c..c081ee0 100644
--- a/tools/h5dump/h5dump_xml.c
+++ b/tools/h5dump/h5dump_xml.c
@@ -1216,7 +1216,7 @@ xml_print_datatype(hid_t type, unsigned in_group)
/* Render the element */
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "<%sOpaqueType Tag=\"%s\" ",xmlnsprefix, mname);
- HDfree(mname);
+ H5free_memory(mname);
size = H5Tget_size(type);
h5tools_str_append(&buffer, "Size=\"%lu\"/>", (unsigned long)size);
h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0);
@@ -1265,7 +1265,7 @@ xml_print_datatype(hid_t type, unsigned in_group)
h5tools_str_append(&buffer, "<%sField FieldName=\"%s\">",xmlnsprefix, t_fname);
h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0);
- HDfree(mname);
+ H5free_memory(mname);
HDfree(t_fname);
dump_indent += COL;
ctx.indent_level++;
@@ -3623,7 +3623,8 @@ xml_dump_fill_value(hid_t dcpl, hid_t type)
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "\"%s\"", name);
h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0);
-
+ if(name)
+ H5free_memory(name);
ctx.need_prefix = TRUE;
h5tools_simple_prefix(rawoutstream, outputformat, &ctx, (hsize_t)0, 0);
@@ -4526,7 +4527,7 @@ xml_print_enum(hid_t type)
/* Release resources */
for (i = 0; i < nmembs; i++)
- HDfree(name[i]);
+ H5free_memory(name[i]);
HDfree(name);
HDfree(value);
diff --git a/tools/h5ls/h5ls.c b/tools/h5ls/h5ls.c
index 14fdb65..33fc17a 100644
--- a/tools/h5ls/h5ls.c
+++ b/tools/h5ls/h5ls.c
@@ -845,7 +845,7 @@ print_cmpd_type(h5tools_str_t *buffer, hid_t type, int ind)
n = print_string(buffer, name, FALSE);
h5tools_str_append(buffer, "\"%*s +%-4lu ", MAX(0, 16-n), "",
(unsigned long)H5Tget_member_offset(type, i));
- HDfree(name);
+ H5free_memory(name);
/* Member's type */
subtype = H5Tget_member_type(type, i);
@@ -927,7 +927,7 @@ print_enum_type(h5tools_str_t *buffer, hid_t type, int ind)
if(H5Tconvert(super, native, (size_t)nmembs, value, NULL, H5P_DEFAULT) < 0) {
/* Release resources */
for(i = 0; i < (unsigned)nmembs; i++)
- HDfree(name[i]);
+ H5free_memory(name[i]);
HDfree(name);
HDfree(value);
@@ -1154,7 +1154,7 @@ print_opaque_type(h5tools_str_t *buffer, hid_t type, int ind)
h5tools_str_append(buffer, "\n%*s(tag = \"", ind, "");
print_string(buffer, tag, FALSE);
h5tools_str_append(buffer, "\")");
- HDfree(tag);
+ H5free_memory(tag);
}
return TRUE;
}
diff --git a/tools/lib/h5tools_dump.c b/tools/lib/h5tools_dump.c
index e1fdd4b..3432a8b 100644
--- a/tools/lib/h5tools_dump.c
+++ b/tools/lib/h5tools_dump.c
@@ -2336,7 +2336,7 @@ h5tools_print_datatype(FILE *stream, h5tools_str_t *buffer, const h5tool_format_
h5tools_str_append(buffer, "OPAQUE_TAG \"%s\";", ttag);
h5tools_render_element(stream, info, ctx, buffer, &curr_pos, (size_t)ncols, (hsize_t)0, (hsize_t)0);
- HDfree(ttag);
+ H5free_memory(ttag);
}
ctx->indent_level--;
@@ -2372,7 +2372,7 @@ h5tools_print_datatype(FILE *stream, h5tools_str_t *buffer, const h5tool_format_
}
else
HERROR(H5E_tools_g, H5E_tools_min_id_g, "H5Tget_member_type failed");
- HDfree(mname);
+ H5free_memory(mname);
}
ctx->indent_level--;
@@ -2688,7 +2688,7 @@ CATCH
/* Release resources */
for(i = 0; i < nmembs; i++)
if(name[i])
- HDfree(name[i]);
+ H5free_memory(name[i]);
HDfree(name);
} /* end if */
diff --git a/tools/lib/h5tools_str.c b/tools/lib/h5tools_str.c
index 34142d4..3160cfa 100644
--- a/tools/lib/h5tools_str.c
+++ b/tools/lib/h5tools_str.c
@@ -991,7 +991,7 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
/* The name */
name = H5Tget_member_name(type, j);
h5tools_str_append(str, OPT(info->cmpd_name, ""), name);
- HDfree(name);
+ H5free_memory(name);
/* The value */
offset = H5Tget_member_offset(type, j);
diff --git a/tools/misc/talign.c b/tools/misc/talign.c
index 66318bf..2d0a9d1 100644
--- a/tools/misc/talign.c
+++ b/tools/misc/talign.c
@@ -152,7 +152,7 @@ out:
mname ? mname : "(null)", (int)H5Tget_member_offset(fix,0),
string5, (char *)(data + H5Tget_member_offset(fix, 0)));
if(mname)
- HDfree(mname);
+ H5free_memory(mname);
fptr = (float *)(data + H5Tget_member_offset(fix, 1));
mname = H5Tget_member_name(fix, 1);
@@ -163,7 +163,7 @@ out:
(double)fok[0], (double)fptr[0],
(double)fok[1], (double)fptr[1]);
if(mname)
- HDfree(mname);
+ H5free_memory(mname);
fptr = (float *)(data + H5Tget_member_offset(fix, 2));
mname = H5Tget_member_name(fix, 2);
@@ -173,7 +173,7 @@ out:
(double)fnok[0], (double)fptr[0],
(double)fnok[1], (double)fptr[1]);
if(mname)
- HDfree(mname);
+ H5free_memory(mname);
fptr = (float *)(data + H5Tget_member_offset(fix, 1));
printf("\n"