diff --git a/src/include/splash/basetypes/ColTypeBool.hpp b/src/include/splash/basetypes/ColTypeBool.hpp index 534ee70..bb1a715 100644 --- a/src/include/splash/basetypes/ColTypeBool.hpp +++ b/src/include/splash/basetypes/ColTypeBool.hpp @@ -69,10 +69,11 @@ class ColTypeBool : public CollectionType { char* m0 = H5Tget_member_name(datatype_id,0); char* m1 = H5Tget_member_name(datatype_id,1); - if(strcmp("TRUE" , m0) == 0 && strcmp("FALSE", m1) == 0) - found = true; - free(m1); - free(m0); + if(m0 != NULL && m1 != NULL) + if(strcmp("TRUE" , m0) == 0 && strcmp("FALSE", m1) == 0) + found = true; + H5free_memory(m1); + H5free_memory(m0); } } diff --git a/src/include/splash/basetypes/ColTypeDim.hpp b/src/include/splash/basetypes/ColTypeDim.hpp index 937dafb..a5c93e9 100644 --- a/src/include/splash/basetypes/ColTypeDim.hpp +++ b/src/include/splash/basetypes/ColTypeDim.hpp @@ -74,12 +74,13 @@ namespace splash char* m0 = H5Tget_member_name(datatype_id, 0); char* m1 = H5Tget_member_name(datatype_id, 1); char* m2 = H5Tget_member_name(datatype_id, 2); - if(strcmp("x", m0) == 0 && strcmp("y", m1) == 0 && strcmp("z", m2) == 0) - found = true; + if(m0 != NULL && m1 != NULL && m2 != NULL) + if(strcmp("x", m0) == 0 && strcmp("y", m1) == 0 && strcmp("z", m2) == 0) + found = true; - free(m2); - free(m1); - free(m0); + H5free_memory(m2); + H5free_memory(m1); + H5free_memory(m0); } } } diff --git a/src/include/splash/basetypes/basetypes_compound.hpp b/src/include/splash/basetypes/basetypes_compound.hpp index ee2241b..9d76bc9 100644 --- a/src/include/splash/basetypes/basetypes_compound.hpp +++ b/src/include/splash/basetypes/basetypes_compound.hpp @@ -69,12 +69,15 @@ namespace splash { \ hid_t mtype = H5Tget_member_type(datatype_id, i); \ char* mname = H5Tget_member_name(datatype_id, i); \ - if(H5Tequal(mtype, _h5_type) == 1 && \ - strcmp(COMPOUND_ELEMENTS[i], mname) == 0) \ + if(mname != NULL) \ { \ - found = true; \ + if(H5Tequal(mtype, _h5_type) == 1 && \ + strcmp(COMPOUND_ELEMENTS[i], mname) == 0) \ + { \ + found = true; \ + } \ } \ - free(mname); \ + H5free_memory(mname); \ H5Tclose(mtype); \ } \ } \