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/H5Aint.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/H5Aint.c')
-rw-r--r-- | src/H5Aint.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/H5Aint.c b/src/H5Aint.c index 81b5c60..b57896e 100644 --- a/src/H5Aint.c +++ b/src/H5Aint.c @@ -1149,8 +1149,8 @@ H5A_dense_copy_file_cb(const H5A_t *attr_src, void *_udata) HDassert(udata->file); HDassert(udata->cpy_info); - if ( NULL == (attr_dst=H5A_attr_copy_file(attr_src, udata->file, - udata->recompute_size, udata->cpy_info, udata->dxpl_id))) + if(NULL == (attr_dst = H5A_attr_copy_file(attr_src, udata->file, + udata->recompute_size, udata->cpy_info, udata->dxpl_id))) HGOTO_ERROR(H5E_ATTR, H5E_CANTCOPY, H5_ITER_ERROR, "can't copy attribute") /* Reset shared location information */ @@ -1162,10 +1162,8 @@ H5A_dense_copy_file_cb(const H5A_t *attr_src, void *_udata) HGOTO_ERROR(H5E_OHDR, H5E_CANTINSERT, H5_ITER_ERROR, "unable to add to dense storage") done: - if(attr_dst) { - (void)H5A_free(attr_dst); - attr_dst = H5FL_FREE(H5A_t, attr_dst); - } /* end if */ + if(attr_dst && H5A_close(attr_dst) < 0) + HDONE_ERROR(H5E_ATTR, H5E_CLOSEERROR, FAIL, "can't close destination attribute") FUNC_LEAVE_NOAPI(ret_value) } /* end H5A_dense_copy_file_cb() */ |