diff options
author | Prasanna Kumar Kalever <prasanna.kalever@redhat.com> | 2017-02-08 13:19:01 +0530 |
---|---|---|
committer | Prasanna Kumar Kalever <prasanna.kalever@redhat.com> | 2017-02-08 14:05:28 +0530 |
commit | 6702716292058a507ff41df2880cc12154accced (patch) | |
tree | 36cc20cb0c0e1611d79889f139cb696e5e6cb0cd /utils | |
parent | 67fb77e759d6babaf5d8853b68241150bf10b6f7 (diff) |
build: fix minor warnings
mostly uninitialized use of variables.
check return values from function calls.
Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
Diffstat (limited to 'utils')
-rw-r--r-- | utils/utils.c | 22 | ||||
-rw-r--r-- | utils/utils.h | 17 |
2 files changed, 36 insertions, 3 deletions
diff --git a/utils/utils.c b/utils/utils.c index a43a347..3441e54 100644 --- a/utils/utils.c +++ b/utils/utils.c @@ -145,6 +145,28 @@ gbAllocN(void *ptrptr, size_t size, size_t count, } +int +gbReallocN(void *ptrptr, size_t size, size_t count, + const char *filename, const char *funcname, size_t linenr) +{ + void *tmp; + + + if (xalloc_oversized(count, size)) { + errno = ENOMEM; + return -1; + } + tmp = realloc(*(void**)ptrptr, size * count); + if (!tmp && (size * count)) { + errno = ENOMEM; + return -1; + } + *(void**)ptrptr = tmp; + + return 0; +} + + void gbFree(void *ptrptr) { diff --git a/utils/utils.h b/utils/utils.h index f9763eb..2323418 100644 --- a/utils/utils.h +++ b/utils/utils.h @@ -16,6 +16,7 @@ # include <stdio.h> # include <stdlib.h> +# include <stddef.h> # include <stdbool.h> # include <string.h> # include <errno.h> @@ -122,13 +123,20 @@ # define CALLOC(x) \ calloc(1, x) +# define GB_ALLOC(ptr) \ + gbAlloc(&(ptr), sizeof(*(ptr)), \ + __FILE__, __FUNCTION__, __LINE__) + # define GB_ALLOC_N(ptr, count) \ gbAllocN(&(ptr), sizeof(*(ptr)), (count), \ __FILE__, __FUNCTION__, __LINE__) \ -# define GB_ALLOC(ptr) \ - gbAlloc(&(ptr), sizeof(*(ptr)), \ - __FILE__, __FUNCTION__, __LINE__) +# define xalloc_oversized(n, s) \ + ((size_t) (sizeof(ptrdiff_t) <= sizeof(size_t) ? -1 : -2) / (s) < (n)) + +# define GB_REALLOC_N(ptr, count) \ + gbReallocN(&(ptr), sizeof(*(ptr)), (count), \ + __FILE__, __FUNCTION__, __LINE__) # define GB_STRDUP(dst, src) \ gbStrdup(&(dst), src, \ @@ -291,6 +299,9 @@ int gbAlloc(void *ptrptr, size_t size, int gbAllocN(void *ptrptr, size_t size, size_t count, const char *filename, const char *funcname, size_t linenr); +int gbReallocN(void *ptrptr, size_t size, size_t count, + const char *filename, const char *funcname, size_t linenr); + int gbStrdup(char **dest, const char *src, const char *filename, const char *funcname, size_t linenr); |