summaryrefslogtreecommitdiffstats
path: root/src/H5Gcache.c
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2018-03-13 00:56:54 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2018-03-13 00:56:54 (GMT)
commitb877534a330a201e3b5c51d97daa8e01a5c1cd3a (patch)
tree0823bdc3769590346d483f089ed158538fd131ee /src/H5Gcache.c
parent26109aad51393d2a9e6d3a667a0a3ddf8b5e874e (diff)
downloadhdf5-b877534a330a201e3b5c51d97daa8e01a5c1cd3a.zip
hdf5-b877534a330a201e3b5c51d97daa8e01a5c1cd3a.tar.gz
hdf5-b877534a330a201e3b5c51d97daa8e01a5c1cd3a.tar.bz2
Added a fix for HDFFV-10358.
Diffstat (limited to 'src/H5Gcache.c')
-rw-r--r--src/H5Gcache.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/H5Gcache.c b/src/H5Gcache.c
index 65115a5..b447cad 100644
--- a/src/H5Gcache.c
+++ b/src/H5Gcache.c
@@ -170,6 +170,7 @@ H5G__cache_node_deserialize(const void *_image, size_t len, void *_udata,
H5F_t *f = (H5F_t *)_udata; /* User data for callback */
H5G_node_t *sym = NULL; /* Symbol table node created */
const uint8_t *image = (const uint8_t *)_image; /* Pointer to image to deserialize */
+ const uint8_t *image_end = image + len - 1; /* Pointer to end of image buffer */
void *ret_value = NULL; /* Return value */
FUNC_ENTER_STATIC
@@ -203,7 +204,7 @@ H5G__cache_node_deserialize(const void *_image, size_t len, void *_udata,
UINT16DECODE(image, sym->nsyms);
/* entries */
- if(H5G__ent_decode_vec(f, &image, sym->entry, sym->nsyms) < 0)
+ if(H5G__ent_decode_vec(f, &image, image_end, sym->entry, sym->nsyms) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, NULL, "unable to decode symbol table entries")
/* Set return value */