diff options
Diffstat (limited to 'c++/src/H5PropList.cpp')
-rw-r--r-- | c++/src/H5PropList.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/c++/src/H5PropList.cpp b/c++/src/H5PropList.cpp index 9476d46..0b740d8 100644 --- a/c++/src/H5PropList.cpp +++ b/c++/src/H5PropList.cpp @@ -390,8 +390,13 @@ void PropList::getProperty(const char* name, void* value) const //-------------------------------------------------------------------------- H5std_string PropList::getProperty(const char* name) const { + // Get property size first size_t size = getPropSize(name); + + // Allocate buffer then get the property char* prop_strg_C = new char[size+1]; // temporary C-string for C API + HDmemset(prop_strg_C, 0, size+1); // clear buffer + herr_t ret_value = H5Pget(id, name, prop_strg_C); // call C API // Throw exception if H5Pget returns failure @@ -485,7 +490,7 @@ H5std_string PropList::getClassName() const if (temp_str != NULL) { H5std_string class_name(temp_str); - HDfree(temp_str); + H5free_memory(temp_str); return(class_name); } else |