[tor-commits] [tor/master] Document the alignment limitation of tor_free()

nickm at torproject.org nickm at torproject.org
Wed Jan 10 18:00:27 UTC 2018


commit 519fa1a3e6943f858b5dc1dee461053af1c187cd
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Jan 10 09:55:01 2018 -0500

    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 8dc64ce9f..2ee0ea28c 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                                 \





More information about the tor-commits mailing list