diff --git a/src/H5B.c b/src/H5B.c index d87f8828074..81ba3dfb156 100644 --- a/src/H5B.c +++ b/src/H5B.c @@ -215,7 +215,7 @@ H5B_create(H5F_t *f, const H5B_class_t *type, void *udata, haddr_t *addr_p /*out /* * Allocate file and memory data structures. */ - if (NULL == (bt = H5FL_MALLOC(H5B_t))) + if (NULL == (bt = H5FL_CALLOC(H5B_t))) HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, FAIL, "memory allocation failed for B-tree root node"); memset(&bt->cache_info, 0, sizeof(H5AC_info_t)); bt->level = 0; diff --git a/src/H5T.c b/src/H5T.c index 8790b6bd0c0..73b45b46f42 100644 --- a/src/H5T.c +++ b/src/H5T.c @@ -4140,7 +4140,8 @@ H5T__free(H5T_t *dt) for (i = 0; i < dt->shared->u.compnd.nmembs; i++) { dt->shared->u.compnd.memb[i].name = (char *)H5MM_xfree(dt->shared->u.compnd.memb[i].name); if (H5T_close_real(dt->shared->u.compnd.memb[i].type) < 0) - HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, + /* Push errors, but keep going */ + HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close datatype for compound member"); } dt->shared->u.compnd.memb = (H5T_cmemb_t *)H5MM_xfree(dt->shared->u.compnd.memb); @@ -4177,12 +4178,14 @@ H5T__free(H5T_t *dt) /* Close the parent */ assert(dt->shared->parent != dt); if (dt->shared->parent && H5T_close_real(dt->shared->parent) < 0) - HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close parent data type"); + /* Push errors, but keep going */ + HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close parent data type"); dt->shared->parent = NULL; /* Close the owned VOL object */ if (dt->shared->owned_vol_obj && H5VL_free_object(dt->shared->owned_vol_obj) < 0) - HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close owned VOL object"); + /* Push errors, but keep going */ + HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close owned VOL object"); dt->shared->owned_vol_obj = NULL; done: