diff options
author | Neil Fortner <nfortne2@hdfgroup.org> | 2015-07-01 22:08:11 (GMT) |
---|---|---|
committer | Neil Fortner <nfortne2@hdfgroup.org> | 2015-07-01 22:08:11 (GMT) |
commit | 9804fed58f4f30843d406861a2daf67944c244de (patch) | |
tree | 37ef75018769aa13ad604dc9be42dfd81d8a9812 /src/H5Bcache.c | |
parent | 980db9e85b902bcd0e183e00c5ebe02ec365dc22 (diff) | |
download | hdf5-9804fed58f4f30843d406861a2daf67944c244de.zip hdf5-9804fed58f4f30843d406861a2daf67944c244de.tar.gz hdf5-9804fed58f4f30843d406861a2daf67944c244de.tar.bz2 |
[svn-r27320] Fix uninitialized memory write valgrind errors in trunk. Did this by modifying
metadata cache clients to clear unused memory in the buffer after serializing.
Tested: ummon; jam, koala, ostrich (h5committest)
Diffstat (limited to 'src/H5Bcache.c')
-rw-r--r-- | src/H5Bcache.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/H5Bcache.c b/src/H5Bcache.c index dfa4dab..d071712 100644 --- a/src/H5Bcache.c +++ b/src/H5Bcache.c @@ -338,10 +338,16 @@ H5B__serialize(const H5F_t *f, void *_image, size_t H5_ATTR_UNUSED len, /* Encode the final key */ if(shared->type->encode(shared, image, native) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTENCODE, FAIL, "unable to encode B-tree key") + image += shared->sizeof_rkey; } /* end if */ /* Sanity check */ - HDassert((size_t)((const uint8_t *)image - (const uint8_t *)_image) <= len); + HDassert((size_t)(image - (uint8_t *)_image) <= len); + +#ifdef H5_CLEAR_MEMORY + /* Clear rest of node */ + HDmemset(image, 0, len - (size_t)(image - (uint8_t *)_image)); +#endif /* H5_CLEAR_MEMORY */ done: FUNC_LEAVE_NOAPI(ret_value) |