diff options
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/util.c | 6 | ||||
-rw-r--r-- | source3/lib/util_str.c | 3 |
2 files changed, 5 insertions, 4 deletions
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))); } |