Convert the VIR_ALLOC family of APIs with use of the g_malloc family of
APIs. Use of VIR_ALLOC related functions should be incrementally phased
out over time, allowing return value checks to be dropped. Use of
VIR_FREE should be replaced with auto-cleanup whenever possible.
We previously used the 'calloc-posix' gnulib module because mingw does
not set errno to ENOMEM on failure.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
bootstrap.conf | 1 -
src/util/viralloc.c | 29 ++++++-----------------------
2 files changed, 6 insertions(+), 24 deletions(-)
diff --git a/bootstrap.conf b/bootstrap.conf
index 4f944a9c23..549d18c6d4 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -28,7 +28,6 @@ byteswap
c-ctype
c-strcase
c-strcasestr
-calloc-posix
canonicalize-lgpl
chown
clock-time
diff --git a/src/util/viralloc.c b/src/util/viralloc.c
index 10a8d0fb73..b8ca850764 100644
--- a/src/util/viralloc.c
+++ b/src/util/viralloc.c
@@ -45,10 +45,7 @@ VIR_LOG_INIT("util.alloc");
int virAlloc(void *ptrptr,
size_t size)
{
- *(void **)ptrptr = calloc(1, size);
- if (*(void **)ptrptr == NULL)
- abort();
-
+ *(void **)ptrptr = g_malloc0(size);
return 0;
}
@@ -69,10 +66,7 @@ int virAllocN(void *ptrptr,
size_t size,
size_t count)
{
- *(void**)ptrptr = calloc(count, size);
- if (*(void**)ptrptr == NULL)
- abort();
-
+ *(void**)ptrptr = g_malloc0_n(count, size);
return 0;
}
@@ -94,16 +88,7 @@ int virReallocN(void *ptrptr,
size_t size,
size_t count)
{
- void *tmp;
-
- if (xalloc_oversized(count, size))
- abort();
-
- tmp = realloc(*(void**)ptrptr, size * count);
- if (!tmp && ((size * count) != 0))
- abort();
-
- *(void**)ptrptr = tmp;
+ *(void **)ptrptr = g_realloc_n(*(void**)ptrptr, size, count);
return 0;
}
@@ -343,9 +328,7 @@ int virAllocVar(void *ptrptr,
abort();
alloc_size = struct_size + (element_size * count);
- *(void **)ptrptr = calloc(1, alloc_size);
- if (*(void **)ptrptr == NULL)
- abort();
+ *(void **)ptrptr = g_malloc0(alloc_size);
return 0;
}
@@ -362,7 +345,7 @@ void virFree(void *ptrptr)
{
int save_errno = errno;
- free(*(void**)ptrptr);
+ g_free(*(void**)ptrptr);
*(void**)ptrptr = NULL;
errno = save_errno;
}
@@ -395,7 +378,7 @@ void virDispose(void *ptrptr,
if (*(void**)ptrptr && count > 0)
memset(*(void **)ptrptr, 0, count * element_size);
- free(*(void**)ptrptr);
+ g_free(*(void**)ptrptr);
*(void**)ptrptr = NULL;
if (countptr)
--
2.21.0