diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2010-08-20 22:22:40 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2010-08-20 22:22:40 (GMT) |
commit | 0b00c26b027b2d2afd3112d24573ceb767fc8376 (patch) | |
tree | 6dfeabd5453da487c6e6473bd24c82895b4496b5 /src/H5SMcache.c | |
parent | 2d7c01d1eb8254c3b5d4977428edcf1c2523bd5e (diff) | |
download | hdf5-0b00c26b027b2d2afd3112d24573ceb767fc8376.zip hdf5-0b00c26b027b2d2afd3112d24573ceb767fc8376.tar.gz hdf5-0b00c26b027b2d2afd3112d24573ceb767fc8376.tar.bz2 |
[svn-r19274] Description:
Bring r19272 & 19273 from trunk to 1.8 branch:
Close out various resource leaks and usages of uninitialized memory that
were flagged by valgrind. [There's still some more valgrind warnings, but
it's better now... :-/ ]
Also clean up warnings and code formatting.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Mac OS X/32 10.6.4 (amazon) in debug mode
Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
Diffstat (limited to 'src/H5SMcache.c')
-rw-r--r-- | src/H5SMcache.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/H5SMcache.c b/src/H5SMcache.c index d1912ee..ad89c85 100644 --- a/src/H5SMcache.c +++ b/src/H5SMcache.c @@ -603,7 +603,7 @@ H5SM_list_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5SM_lis if(H5SM_message_encode(p, &(list->messages[x]), &ctx) < 0) HGOTO_ERROR(H5E_SOHM, H5E_CANTFLUSH, FAIL, "unable to write shared message to disk") - p+=H5SM_SOHM_ENTRY_SIZE(f); + p += H5SM_SOHM_ENTRY_SIZE(f); ++mesgs_written; } /* end if */ } /* end for */ @@ -612,6 +612,9 @@ H5SM_list_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5SM_lis /* Compute checksum on buffer */ computed_chksum = H5_checksum_metadata(buf, (size_t)(p - buf), 0); UINT32ENCODE(p, computed_chksum); +#ifdef H5_CLEAR_MEMORY +HDmemset(p, 0, (list->header->list_size - (p - buf))); +#endif /* H5_CLEAR_MEMORY */ /* Write the list to disk */ HDassert((size_t)(p - buf) <= list->header->list_size); |