aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetIOHDF5
diff options
context:
space:
mode:
authorRoland Haas <rhaas@caltech.edu>2011-11-15 09:33:38 -0800
committerBarry Wardell <barry.wardell@gmail.com>2011-12-14 19:54:58 +0000
commit1d9249be1428a37ac302bd0e1397df2f9884e139 (patch)
tree8f85f7f8a178ead16ca9f877de83708c5ed39831 /Carpet/CarpetIOHDF5
parent61dbd699a905d37339f337506c3b0aa7fe6d061b (diff)
CarpetIOHDF5: plug memory leak introduced in one_file_per_group_option
IOUtil_DefaultIORequest returns a fresh copy of the default IO request, rather than just a pointer to it. It has to be freeed afterwards.
Diffstat (limited to 'Carpet/CarpetIOHDF5')
-rw-r--r--Carpet/CarpetIOHDF5/src/OutputSlice.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/Carpet/CarpetIOHDF5/src/OutputSlice.cc b/Carpet/CarpetIOHDF5/src/OutputSlice.cc
index c6cdb309b..c4ad294ad 100644
--- a/Carpet/CarpetIOHDF5/src/OutputSlice.cc
+++ b/Carpet/CarpetIOHDF5/src/OutputSlice.cc
@@ -1433,6 +1433,10 @@ namespace CarpetIOHDF5 {
H5Gunlink(file, datasetname.c_str());
} H5E_END_TRY;
}
+ // free I/O request structure
+ if (request != slice_requests.at(vi + n)) {
+ IOUtil_FreeIORequest (&request);
+ }
// write the dataset
hid_t dataset;
@@ -1537,6 +1541,10 @@ namespace CarpetIOHDF5 {
H5Gunlink(file, datasetname.c_str());
} H5E_END_TRY;
}
+ // free I/O request structure
+ if (request != slice_requests.at(vi + n)) {
+ IOUtil_FreeIORequest (&request);
+ }
// write the dataset
hid_t dataset;