summaryrefslogtreecommitdiff
path: root/shared
diff options
context:
space:
mode:
Diffstat (limited to 'shared')
-rw-r--r--shared/external.h6
-rw-r--r--shared/utils.h7
2 files changed, 7 insertions, 6 deletions
diff --git a/shared/external.h b/shared/external.h
index 1d7f3b7..beba93a 100644
--- a/shared/external.h
+++ b/shared/external.h
@@ -3,13 +3,13 @@
/* These need to be defined in the linking binary */
#define zmalloc(s) __zmalloc(__func__, __LINE__, s)
-void *__zmalloc(const char *fn, int line, size_t s);
+void *__zmalloc(const char *fn, int line, size_t s) _malloc_ _alloc_(3);
#define xstrdup(s) __xstrdup(__func__, __LINE__, s)
-char *__xstrdup(const char *fn, int line, const char *s);
+char *__xstrdup(const char *fn, int line, const char *s) _malloc_;
#define xstrndup(s, n) __xstrndup(__func__, __LINE__, s, n)
-char *__xstrndup(const char *fn, int line, const char *s, size_t n);
+char *__xstrndup(const char *fn, int line, const char *s, size_t n) _malloc_ _alloc_(4);
#define xfree(s) __xfree(__func__, __LINE__, s)
void __xfree(const char *fn, int line, void *ptr);
diff --git a/shared/utils.h b/shared/utils.h
index d0142b1..769d3e3 100644
--- a/shared/utils.h
+++ b/shared/utils.h
@@ -13,11 +13,12 @@
extern unsigned debug_mask;
#define _unused_ __attribute__((__unused__))
-
+#define _pure_ __attribute__((__pure__))
+#define _const_ __attribute__((__const__))
+#define _alloc_(...) __attribute__((__alloc_size__(__VA_ARGS__)))
+#define _malloc_ __attribute__((__malloc__))
#define _printf_(a, b) __attribute__((__format__(printf, a, b)))
-
#define _alignas_(x) __attribute__((__aligned__(__alignof(x))))
-
#define _big_endian_ __attribute__((packed, scalar_storage_order("big-endian")))
#if __GNUC__ >= 7