From: Todd C. Miller <Todd.Miller@courtesan.com> Date: Thu, 7 Mar 2013 20:41:34 +0000 (-0500) Subject: Convert efree() to a macro that just casts to void * and does free(). X-Git-Tag: SUDO_1_8_7~1^2~175 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d26c0d87f67df84a1824a25dfba0cf6b02c33b95;p=sudo Convert efree() to a macro that just casts to void * and does free(). If the system free() can't handle free(NULL) this may crash but C89 was a long time ago. --- diff --git a/common/alloc.c b/common/alloc.c index 09c95f5eb..e69c367bd 100644 --- a/common/alloc.c +++ b/common/alloc.c @@ -271,13 +271,3 @@ evasprintf(char **ret, const char *format, va_list args) errorx_nodebug(1, NULL); return len; } - -/* - * Wrapper for free(3) so we can depend on C89 semantics. - */ -void -efree(void *ptr) -{ - if (ptr != NULL) - free(ptr); -} diff --git a/include/alloc.h b/include/alloc.h index 77ba2a289..4bf4e7b10 100644 --- a/include/alloc.h +++ b/include/alloc.h @@ -19,9 +19,11 @@ #include <stdarg.h> +#undef efree +#define efree(x) free((void *)(x)) + int easprintf(char **, const char *, ...) __printflike(2, 3); int evasprintf(char **, const char *, va_list) __printflike(2, 0); -void efree(void *); void *ecalloc(size_t, size_t) __malloc_like; void *emalloc(size_t) __malloc_like; void *emalloc2(size_t, size_t) __malloc_like;