summaryrefslogtreecommitdiffstats
path: root/src/H5MM.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2011-05-20 22:04:03 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2011-05-20 22:04:03 (GMT)
commit1d9307bd91d51e15e408a584b4c761cacf916b96 (patch)
treee9e1e7a3b5c0e627e28985917f2e6412f17384a9 /src/H5MM.c
parent3f11adaec28a55a5772d702752b433aa0289adaf (diff)
downloadhdf5-1d9307bd91d51e15e408a584b4c761cacf916b96.zip
hdf5-1d9307bd91d51e15e408a584b4c761cacf916b96.tar.gz
hdf5-1d9307bd91d51e15e408a584b4c761cacf916b96.tar.bz2
[svn-r20885] Description:
Bring Coverity changes back to trunk: r20340: Address coverity issue 248. Set freed pointer to NULL if realloc fails, then check for NULL before attempting to close array of handles stored in memory addressed by pointer. r20341: Added initialization udata.path = NULL; udata.visited = NULL; to prevent unintialized use after done: label. Do C-style initialization AFTER all variable definitions. r20342: Fix valgrind error in H5DUMP-XML-tall.h5 r20343: Addressed Coverity issue 591 - check the return value of H5S_SELECT_ITER_RELEASE. r20344: Added initialization udata.path = NULL; to prevent uninitialized used after done: label r20347: Purpose: Fix memory leak in overhead.c Description: Fixed leak in test() in overhead.c where array "had" was never freed. r20348: Addressed Coverity issue 705 - added prototype for resize_configs_are_equal to cache_common.h. r20392: Purpose: Fix coverity issues 1677 and 1678 Description: Added return value checking for 4 funciton calls in H5tools_get_symlink_info(). r20394: Purpose: Fix coverity issues 1674 and 1675 Description: Modified H5Epush2() and H5E_printf_stack() to keep track of whether va_start() has been called, and to call va_end() at the end if so. r20395: Should be H5MM_calloc(count * sizeof(void*)). Fixed --gh r20396: Should be H5MM_calloc(count * sizeof(void*)). Fixed. --gh Tested on: Mac OSX/32 10.6.7 (amazon) w/debug & production (h5committested on branch)
Diffstat (limited to 'src/H5MM.c')
-rw-r--r--src/H5MM.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/H5MM.c b/src/H5MM.c
index 1de4880..c27f9d1 100644
--- a/src/H5MM.c
+++ b/src/H5MM.c
@@ -110,7 +110,8 @@ H5MM_calloc(size_t size)
* H5MM_realloc (NULL, 0) <==> NULL
*
* Return: Success: Ptr to new memory or NULL if the memory
- * was freed.
+ * was freed or HDrealloc couldn't allocate
+ * memory.
*
* Failure: NULL
*
@@ -130,17 +131,14 @@ H5MM_realloc(void *mem, size_t size)
if(NULL == mem) {
if(0 == size)
- mem = NULL;
+ ret_value = NULL;
else
- mem = H5MM_malloc(size);
+ ret_value = H5MM_malloc(size);
} /* end if */
else if(0 == size)
- mem = H5MM_xfree(mem);
+ ret_value = H5MM_xfree(mem);
else
- mem = HDrealloc(mem, size);
-
- /* Set return value */
- ret_value = mem;
+ ret_value = HDrealloc(mem, size);
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5MM_realloc() */