Tweak alloc args to size_t w/proper realloc order.
authorWayne Davison <wayne@opencoder.net>
Thu, 25 Jun 2020 00:35:02 +0000 (17:35 -0700)
committerWayne Davison <wayne@opencoder.net>
Thu, 25 Jun 2020 00:52:36 +0000 (17:52 -0700)
rsync.h
util.c
util2.c

diff --git a/rsync.h b/rsync.h
index 8af83ecf5fa247da5fd80e7dd022a7833ab14a6c..a645f2019bd76a61c63144cff4ece164c83b58f0 100644 (file)
--- a/rsync.h
+++ b/rsync.h
@@ -1267,7 +1267,7 @@ extern int errno;
 #define new0(type) ((type*)calloc(1, sizeof (type)))
 #define new_array(type, num) ((type*)_new_array((num), sizeof (type), 0))
 #define new_array0(type, num) ((type*)_new_array((num), sizeof (type), 1))
-#define realloc_array(ptr, type, num) ((type*)_realloc_array((ptr), sizeof(type), (num)))
+#define realloc_array(ptr, type, num) ((type*)_realloc_array((ptr), (num), sizeof (type)))
 
 /* use magic gcc attributes to catch format errors */
  void rprintf(enum logcode , const char *, ...)
diff --git a/util.c b/util.c
index 84dcac52ca9ebf89e7ab09d0f123c8a0878bea51..6489e650d8b23260ce587c765330b244ddaf0856 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1655,7 +1655,7 @@ void *expand_item_list(item_list *lp, size_t item_size, const char *desc, int in
                if (new_size <= lp->malloced)
                        overflow_exit("expand_item_list");
                /* Using _realloc_array() lets us pass the size, not a type. */
-               new_ptr = _realloc_array(lp->items, item_size, new_size);
+               new_ptr = _realloc_array(lp->items, new_size, item_size);
                if (DEBUG_GTE(FLIST, 3)) {
                        rprintf(FINFO, "[%s] expand %s to %s bytes, did%s move\n",
                                who_am_i(), desc, big_num(new_size * item_size),
diff --git a/util2.c b/util2.c
index ad7b0636723cd87c9d7c135a1b7f7521e70a56c9..89e2f375602ad0622f01ceb4d555ea3d6c828009 100644 (file)
--- a/util2.c
+++ b/util2.c
@@ -69,14 +69,14 @@ int msleep(int t)
 
 #define MALLOC_MAX 0x40000000
 
-void *_new_array(unsigned long num, unsigned int size, int use_calloc)
+void *_new_array(size_t num, size_t size, int use_calloc)
 {
        if (num >= MALLOC_MAX/size)
                return NULL;
        return use_calloc ? calloc(num, size) : malloc(num * size);
 }
 
-void *_realloc_array(void *ptr, unsigned int size, size_t num)
+void *_realloc_array(void *ptr, size_t num, size_t size)
 {
        if (num >= MALLOC_MAX/size)
                return NULL;