diff options
author | Vailin Choi <vchoi@hdfgroup.org> | 2020-07-17 19:27:12 (GMT) |
---|---|---|
committer | vchoi <vchoi@jelly.ad.hdfgroup.org> | 2020-07-21 17:40:44 (GMT) |
commit | 02d8c7256e452ff9dc309cbaa8b7bb284c8d6f1e (patch) | |
tree | e71121ccf2cf2e6fce8938dd57be958ce08eb125 /src | |
parent | ba4933f6d8b99535d444c06d3664723a6f866309 (diff) | |
download | hdf5-02d8c7256e452ff9dc309cbaa8b7bb284c8d6f1e.zip hdf5-02d8c7256e452ff9dc309cbaa8b7bb284c8d6f1e.tar.gz hdf5-02d8c7256e452ff9dc309cbaa8b7bb284c8d6f1e.tar.bz2 |
Merge pull request #2693 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/HDFFV-11080-heap-use-after-free-by-the-call to develop
* commit '3023b34272cc6ada84aebfa7441a6a55afa3621c':
Update MANIFEST. Add new test to Cmake.
Fix for jira issue HDFFV-11080: (1) Patch up the file pointer when reading attribute of variable length datatype (2) Test to verify the fix when doing multiple threads
Diffstat (limited to 'src')
-rw-r--r-- | src/H5Aint.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/H5Aint.c b/src/H5Aint.c index 3516205..2f772a0 100644 --- a/src/H5Aint.c +++ b/src/H5Aint.c @@ -615,6 +615,10 @@ H5A__read(const H5A_t *attr, const H5T_t *mem_type, void *buf) HDassert(mem_type); HDassert(buf); + /* Patch the top level file pointer in attr->shared->dt->shared->u.vlen.f if needed */ + if(H5T_patch_vlen_file(attr->shared->dt, H5F_VOL_OBJ(attr->oloc.file)) < 0 ) + HGOTO_ERROR(H5E_DATASET, H5E_CANTOPENOBJ, FAIL, "can't patch VL datatype file pointer") + /* Create buffer for data to store on disk */ if((snelmts = H5S_GET_EXTENT_NPOINTS(attr->shared->ds)) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTCOUNT, FAIL, "dataspace is invalid") |