diff options
author | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2009-10-04 02:15:24 (GMT) |
---|---|---|
committer | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2009-10-04 02:15:24 (GMT) |
commit | a83c61c53741f15e21451421d9422ac1ba306504 (patch) | |
tree | 1c1367ecba46ad95cea2f2c837cd2d03022f5b09 /c++/src/H5Object.cpp | |
parent | eed2ea424b233c451c81569aa2df48c99bc8c79e (diff) | |
download | hdf5-a83c61c53741f15e21451421d9422ac1ba306504.zip hdf5-a83c61c53741f15e21451421d9422ac1ba306504.tar.gz hdf5-a83c61c53741f15e21451421d9422ac1ba306504.tar.bz2 |
[svn-r17587] Purpose:
Fixed bugzilla #1061
Description:
Added a check for NULL before accessing a pointer
Also, removed a few warnings about returning values
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
Diffstat (limited to 'c++/src/H5Object.cpp')
-rw-r--r-- | c++/src/H5Object.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/c++/src/H5Object.cpp b/c++/src/H5Object.cpp index 2d32014..2643e41 100644 --- a/c++/src/H5Object.cpp +++ b/c++/src/H5Object.cpp @@ -214,7 +214,7 @@ int H5Object::iterateAttrs( attr_operator_t user_op, unsigned *_idx, void *op_da userData->object = this; // call the C library routine H5Aiterate2 to iterate the attributes - hsize_t idx = (hsize_t)*_idx; + hsize_t idx = _idx ? (hsize_t)*_idx : 0; int ret_value = H5Aiterate2(getId(), H5_INDEX_NAME, H5_ITER_INC, &idx, userAttrOpWrpr, (void *) userData); @@ -223,7 +223,8 @@ int H5Object::iterateAttrs( attr_operator_t user_op, unsigned *_idx, void *op_da if( ret_value >= 0 ) { /* Pass back update index value to calling code */ - *_idx = (unsigned)idx; + if (_idx) + *_idx = (unsigned)idx; return( ret_value ); } |