diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2019-02-19 22:49:20 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2019-02-19 22:49:20 (GMT) |
commit | 32ea4e72f1e85e0e7ff6457aae0bd210e56d1cad (patch) | |
tree | cfaf3296e7dddf11bba56dc00b78327c85eb63d0 /src/H5Oattr.c | |
parent | 536a32c59be69f9ae75604a31d0ec34c57cf9f00 (diff) | |
parent | b901552b1ca315db8b27ea090011f2f557491d46 (diff) | |
download | hdf5-32ea4e72f1e85e0e7ff6457aae0bd210e56d1cad.zip hdf5-32ea4e72f1e85e0e7ff6457aae0bd210e56d1cad.tar.gz hdf5-32ea4e72f1e85e0e7ff6457aae0bd210e56d1cad.tar.bz2 |
Merge branch 'develop' into c_stdlib_posix_call_cleanup
Diffstat (limited to 'src/H5Oattr.c')
-rw-r--r-- | src/H5Oattr.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/H5Oattr.c b/src/H5Oattr.c index c93bf32..c420046 100644 --- a/src/H5Oattr.c +++ b/src/H5Oattr.c @@ -176,7 +176,12 @@ H5O_attr_decode(H5F_t *f, H5O_t *open_oh, unsigned H5_ATTR_UNUSED mesg_flags, /* Decode and store the name */ if(NULL == (attr->shared->name = H5MM_strdup((const char *)p))) - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") + HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") + + /* Make an attempt to detect corrupted name or name length - HDFFV-10588 */ + if(name_len != (HDstrlen(attr->shared->name) + 1)) + HGOTO_ERROR(H5E_ATTR, H5E_CANTDECODE, NULL, "attribute name has different length than stored length") + if(attr->shared->version < H5O_ATTR_VERSION_2) p += H5O_ALIGN_OLD(name_len); /* advance the memory pointer */ else |