summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-03-07 18:52:48 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:11:02 -0500
commit71272fc441d7930f7ae810ee3c8f5a58385cb55c (patch)
treee82a581fd1f46c6b89856b9d097184d6ee9c7bbc
parenta31c931804296a7a9ebff0a92f674492c252700e (diff)
downloadsamba-71272fc441d7930f7ae810ee3c8f5a58385cb55c.tar.gz
samba-71272fc441d7930f7ae810ee3c8f5a58385cb55c.tar.bz2
samba-71272fc441d7930f7ae810ee3c8f5a58385cb55c.zip
r13975: Re-fix Coverity #156 - I had left the hidden arg. inconsistent
between Realloc and realloc_array. Jeremy. (This used to be commit 841c9b1847ae12656b827e3d35b8bf0c3f68b8b4)
-rw-r--r--source3/include/smb_macros.h2
-rw-r--r--source3/lib/util.c6
-rw-r--r--source3/lib/util_str.c3
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)));
}