[svn-r20539] Description:

Bring Coverity changes back to trunk:

r20276:
Add recursive is vlen string function.
Cleanup resource leaks for issues: 200,202,329,688,811,812


r20277:
Check types and close by adding error section: issue 687


r20278:
Replaced implicit pointer conversion with (ocrt_info.new_obj != NULL).


r20280:
Addressed coverity issues 927-929 & 583.  The real issue is failure to check 
file name length -- at least at the H5FD interface level.  This needs more work, but at least I have dealt with the issue in H5FDfamily.c


r20337:
H5O_type_t  obj_type = H5O_TYPE_UNKNOWN;


r20338:
Added udata.name = NULL; to prevent potential uninitialized use after done: label.


r20339:
coverity issues: 686,828,1670-1673,1707-1711


Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        FreeBSD/32 8.2 (loyalty) w/gcc4.6, in debug mode
        FreeBSD/64 8.2 (freedom) w/gcc4.6, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
This commit is contained in:
Quincey Koziol
2011-04-18 05:18:47 -05:00
parent d38c207c32
commit 53eb528071
6 changed files with 213 additions and 161 deletions

View File

@@ -221,7 +221,7 @@ done:
/* If the datatype was committed but something failed after that, we need
* to return it to the state it was in before it was committed.
*/
if(ret_value < 0 && ocrt_info.new_obj) {
if(ret_value < 0 && (NULL != ocrt_info.new_obj)) {
if(dt->shared->state == H5T_STATE_OPEN && dt->sh_loc.type == H5O_SHARE_TYPE_COMMITTED) {
/* Remove the datatype from the list of opened objects in the file */
if(H5FO_top_decr(dt->sh_loc.file, dt->sh_loc.u.loc.oh_addr) < 0)