From 71272fc441d7930f7ae810ee3c8f5a58385cb55c Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 7 Mar 2006 18:52:48 +0000 Subject: r13975: Re-fix Coverity #156 - I had left the hidden arg. inconsistent between Realloc and realloc_array. Jeremy. (This used to be commit 841c9b1847ae12656b827e3d35b8bf0c3f68b8b4) --- source3/include/smb_macros.h | 2 +- source3/lib/util.c | 6 +++--- source3/lib/util_str.c | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/source3/include/smb_macros.h b/source3/include/smb_macros.h index 6c9ab017ba..3ae8814cfd 100644 --- a/source3/include/smb_macros.h +++ b/source3/include/smb_macros.h @@ -274,7 +274,7 @@ copy an IP address from one buffer to another #define SMB_REALLOC(p,s) Realloc((p),(s),True) /* Always frees p on error or s == 0 */ #define SMB_REALLOC_KEEP_OLD_ON_ERROR(p,s) Realloc((p),(s),False) /* Never frees p on error or s == 0 */ #define SMB_REALLOC_ARRAY(p,type,count) (type *)realloc_array((p),sizeof(type),(count),True) /* Always frees p on error or s == 0 */ -#define SMB_REALLOC_ARRAY_KEEP_OLD_ON_ERROR(p,type,count) (type *)realloc_array((p),sizeof(type),(count),False) /* Always frees p on error or s == 0 */ +#define SMB_REALLOC_ARRAY_KEEP_OLD_ON_ERROR(p,type,count) (type *)realloc_array((p),sizeof(type),(count),False) /* Never frees p on error or s == 0 */ #define SMB_CALLOC_ARRAY(type,count) (type *)calloc_array(sizeof(type),(count)) #define SMB_XMALLOC_P(type) (type *)smb_xmalloc_array(sizeof(type),1) #define SMB_XMALLOC_ARRAY(type,count) (type *)smb_xmalloc_array(sizeof(type),(count)) diff --git a/source3/lib/util.c b/source3/lib/util.c index 758ebfd27d..6e0a7c0e2f 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -1009,15 +1009,15 @@ void *Realloc(void *p, size_t size, BOOL free_old_on_error) Type-safe realloc. ****************************************************************************/ -void *realloc_array(void *p, size_t el_size, unsigned int count, BOOL keep_old_on_error) +void *realloc_array(void *p, size_t el_size, unsigned int count, BOOL free_old_on_error) { if (count >= MAX_ALLOC_SIZE/el_size) { - if (!keep_old_on_error) { + if (free_old_on_error) { SAFE_FREE(p); } return NULL; } - return Realloc(p, el_size*count, keep_old_on_error); + return Realloc(p, el_size*count, free_old_on_error); } /**************************************************************************** diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c index f1ae9a472a..446a4a00a1 100644 --- a/source3/lib/util_str.c +++ b/source3/lib/util_str.c @@ -1779,8 +1779,9 @@ BOOL str_list_copy(char ***dest, const char **src) DEBUG(0,("str_list_copy: Unable to re-allocate memory")); str_list_free(&list); return False; - } else + } else { list = rlist; + } memset (&list[num], 0, ((sizeof(char **)) * (S_LIST_ABS +1))); } -- cgit