From 8f828e0ffdab1adb6f28fd705c5830ef8f7ac2b4 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Tue, 7 Oct 2014 20:28:33 +0100 Subject: [PATCH 1/1] NEW etc.: Provide size-safe wrappers for safe_malloc et al. These automatically compute the size from the type to be assigned to, and automatically generate a context string. Signed-off-by: Ian Jackson --- secnet.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/secnet.h b/secnet.h index 96717ae..8e5dad0 100644 --- a/secnet.h +++ b/secnet.h @@ -180,6 +180,16 @@ extern void *safe_malloc_ary(size_t size, size_t count, const char *message); extern void *safe_realloc_ary(void *p, size_t size, size_t count, const char *message); +#define NEW(p) \ + ((p)=safe_malloc(sizeof(*(p)), \ + __FILE__ ":" #p)) +#define NEW_ARY(p,count) \ + ((p)=safe_malloc_ary(sizeof(*(p)),(count), \ + __FILE__ ":" #p "[" #count "]")) +#define REALLOC_ARY(p,count) \ + ((p)=safe_realloc_ary((p),sizeof(*(p)),(count), \ + __FILE__ ":" #p "[" #count "]")) + void setcloexec(int fd); /* cannot fail */ void setnonblock(int fd); /* cannot fail */ void pipe_cloexec(int fd[2]); /* pipe(), setcloexec() twice; cannot fail */ -- 2.30.2