summaryrefslogtreecommitdiffstats
path: root/src/H5C.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2010-10-21 14:08:13 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2010-10-21 14:08:13 (GMT)
commitd1117ac78c622908b4749218a991388d64f01f31 (patch)
tree35162f14a1505ff84ce9c088d270019991869896 /src/H5C.c
parentafd35119824638eeefc90c07286e49a45746e186 (diff)
downloadhdf5-d1117ac78c622908b4749218a991388d64f01f31.zip
hdf5-d1117ac78c622908b4749218a991388d64f01f31.tar.gz
hdf5-d1117ac78c622908b4749218a991388d64f01f31.tar.bz2
[svn-r19655] Description:
Bring r19654 from trunk to 1.8 branch: Bring Coverity revisions from branch back to trunk, and clean up some other misc. compiler warnings also. r19500: Fix coverity items 1446 and 1447. Moved up calls to memset in test_cont in ohdr.c so the test never tries to close uninitialized locations. r19501: Fix coverity items 1398-1445. Various uninitialized variable errors in fheap.c. r19502: Fixed coverity issue 579 and some additional warnings in the file as well. r19503: Bug fix: This fix addressed the "RESOURCE_LEAK" problems #789 and 790, run 26 r19504: minor mods to try to keep coverity from flagging false positives. r19505: Fixed coverity issues 566 - 571. Declared variables that are passed to functions that use them as arrays to be arrays of size 1. Tested on: Mac OS X/32 10.6.4 (amazon) w/debug, production & parallel (h5committested on coverity branch)
Diffstat (limited to 'src/H5C.c')
-rw-r--r--src/H5C.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/H5C.c b/src/H5C.c
index a13bcd6..3f74986 100644
--- a/src/H5C.c
+++ b/src/H5C.c
@@ -4252,15 +4252,26 @@ done:
herr_t
H5C_set_prefix(H5C_t * cache_ptr, char * prefix)
{
- FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5C_set_prefix)
+ herr_t ret_value = SUCCEED; /* Return value */
- HDassert((cache_ptr) && (cache_ptr->magic == H5C__H5C_T_MAGIC));
- HDassert(prefix);
- HDassert(HDstrlen(prefix) < H5C__PREFIX_LEN);
+ FUNC_ENTER_NOAPI(H5C_set_prefix, FAIL)
- HDstrcpy(&(cache_ptr->prefix[0]), prefix);
+ if ( ( cache_ptr == NULL ) ||
+ ( cache_ptr->magic != H5C__H5C_T_MAGIC ) ||
+ ( prefix == NULL ) ||
+ ( HDstrlen(prefix) >= H5C__PREFIX_LEN ) ) {
+
+ HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Bad param(s) on entry.")
+ }
+
+ HDstrncpy(&(cache_ptr->prefix[0]), prefix, (size_t)(H5C__PREFIX_LEN));
+
+ cache_ptr->prefix[H5C__PREFIX_LEN - 1] = '\0';
+
+done:
+
+ FUNC_LEAVE_NOAPI(ret_value)
- FUNC_LEAVE_NOAPI(SUCCEED)
} /* H5C_set_prefix() */