Document the alignment limitation of tor_free()

This commit is contained in:
Nick Mathewson 2018-01-10 09:55:01 -05:00
parent f71bbd20a4
commit 519fa1a3e6

View File

@ -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 * This is a macro. If you need a function pointer to release memory from
* tor_malloc(), use tor_free_(). * 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__ #ifdef __GNUC__
#define tor_free(p) STMT_BEGIN \ #define tor_free(p) STMT_BEGIN \