summaryrefslogtreecommitdiffstats
path: root/src/H5Aint.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2010-08-20 22:22:40 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2010-08-20 22:22:40 (GMT)
commit0b00c26b027b2d2afd3112d24573ceb767fc8376 (patch)
tree6dfeabd5453da487c6e6473bd24c82895b4496b5 /src/H5Aint.c
parent2d7c01d1eb8254c3b5d4977428edcf1c2523bd5e (diff)
downloadhdf5-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.c10
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() */