diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2018-02-27 02:31:40 (GMT) |
---|---|---|
committer | lrknox <lrknox> | 2018-05-10 21:43:47 (GMT) |
commit | b1a6873b1021c967b661727edae9de87d194f744 (patch) | |
tree | 81deb9506f7616af37caeeebaff525b7ef74aa0f /src/H5Adense.c | |
parent | 11a188a4b6f1da0bd81c54976e6ceb8530d71aa1 (diff) | |
download | hdf5-b1a6873b1021c967b661727edae9de87d194f744.zip hdf5-b1a6873b1021c967b661727edae9de87d194f744.tar.gz hdf5-b1a6873b1021c967b661727edae9de87d194f744.tar.bz2 |
Fix for HDFFV-10355 (CVE-2017-17506).
(cherry picked from commit 302053f978e38a8d4306a7c1233cdf8fd2ec28dd)
Diffstat (limited to 'src/H5Adense.c')
-rw-r--r-- | src/H5Adense.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/H5Adense.c b/src/H5Adense.c index 291f422..ab159ff 100644 --- a/src/H5Adense.c +++ b/src/H5Adense.c @@ -843,7 +843,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5A__dense_copy_fh_cb(const void *obj, size_t H5_ATTR_UNUSED obj_len, void *_udata) +H5A__dense_copy_fh_cb(const void *obj, size_t obj_len, void *_udata) { H5A_fh_ud_cp_t *udata = (H5A_fh_ud_cp_t *)_udata; /* User data for fractal heap 'op' callback */ herr_t ret_value = SUCCEED; /* Return value */ @@ -857,7 +857,7 @@ H5A__dense_copy_fh_cb(const void *obj, size_t H5_ATTR_UNUSED obj_len, void *_uda * HDF5 routine, it could attempt to re-protect that direct block for the * heap, causing the HDF5 routine called to fail) */ - if(NULL == (udata->attr = (H5A_t *)H5O_msg_decode(udata->f, udata->dxpl_id, NULL, H5O_ATTR_ID, (const unsigned char *)obj))) + if(NULL == (udata->attr = (H5A_t *)H5O_msg_decode(udata->f, udata->dxpl_id, NULL, H5O_ATTR_ID, obj_len, (const unsigned char *)obj))) HGOTO_ERROR(H5E_ATTR, H5E_CANTDECODE, FAIL, "can't decode attribute") /* Set the creation order index for the attribute */ |