From 519fa1a3e6943f858b5dc1dee461053af1c187cd Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 10 Jan 2018 09:55:01 -0500 Subject: [PATCH] Document the alignment limitation of tor_free() --- src/common/util.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/common/util.h b/src/common/util.h index 8dc64ce9fa..2ee0ea28cd 100644 --- a/src/common/util.h +++ b/src/common/util.h @@ -79,6 +79,11 @@ extern int dmalloc_free(const char *file, const int line, void *pnt, * * This is a macro. If you need a function pointer to release memory from * tor_malloc(), use tor_free_(). + * + * Note that this macro takes the address of the pointer it is going to + * free and clear. If that pointer is stored with a nonstandard + * alignment (eg because of a "packed" pragma) it is not correct to use + * tor_free(). */ #ifdef __GNUC__ #define tor_free(p) STMT_BEGIN \