diff options
author | jhendersonHDF <jhenderson@hdfgroup.org> | 2023-08-02 04:14:32 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-02 04:14:32 (GMT) |
commit | 74352dfda887c2ffe336bbcea19ee978dcd2ce8c (patch) | |
tree | a92a969252db4b36819d2d42a3efa91a6d524fbc /src | |
parent | a78863a82c789ea123a21d568a26f873edbe6e7e (diff) | |
download | hdf5-74352dfda887c2ffe336bbcea19ee978dcd2ce8c.zip hdf5-74352dfda887c2ffe336bbcea19ee978dcd2ce8c.tar.gz hdf5-74352dfda887c2ffe336bbcea19ee978dcd2ce8c.tar.bz2 |
Fix H5Otoken_to_str call in h5dump and other minor cleanup (#3314)
Diffstat (limited to 'src')
-rw-r--r-- | src/H5Dint.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/H5Dint.c b/src/H5Dint.c index 9c74d45..301e803 100644 --- a/src/H5Dint.c +++ b/src/H5Dint.c @@ -3540,11 +3540,11 @@ done: hid_t H5D_get_create_plist(const H5D_t *dset) { - H5P_genplist_t *dcpl_plist; /* Dataset's DCPL */ - H5P_genplist_t *new_plist; /* Copy of dataset's DCPL */ - H5O_layout_t copied_layout; /* Layout to tweak */ - H5O_fill_t copied_fill; /* Fill value to tweak */ - H5O_efl_t copied_efl; /* External file list to tweak */ + H5P_genplist_t *dcpl_plist; /* Dataset's DCPL */ + H5P_genplist_t *new_plist; /* Copy of dataset's DCPL */ + H5O_layout_t copied_layout; /* Layout to tweak */ + H5O_fill_t copied_fill = {0}; /* Fill value to tweak */ + H5O_efl_t copied_efl; /* External file list to tweak */ hid_t new_dcpl_id = FAIL; hid_t ret_value = H5I_INVALID_HID; /* Return value */ @@ -3697,11 +3697,15 @@ H5D_get_create_plist(const H5D_t *dset) ret_value = new_dcpl_id; done: - if (ret_value < 0) + if (ret_value < 0) { if (new_dcpl_id > 0) if (H5I_dec_app_ref(new_dcpl_id) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTDEC, FAIL, "unable to close temporary object"); + if (copied_fill.type && (H5T_close_real(copied_fill.type) < 0)) + HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't free temporary datatype"); + } + FUNC_LEAVE_NOAPI(ret_value) } /* end H5D_get_create_plist() */ |