From: Nick Mathewson Date: Wed, 10 Jan 2018 14:55:01 +0000 (-0500) Subject: Document the alignment limitation of tor_free() X-Git-Tag: tor-0.3.3.1-alpha~56^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=519fa1a3e6943f858b5dc1dee461053af1c187cd;p=thirdparty%2Ftor.git Document the alignment limitation of tor_free() --- 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 \