瀏覽代碼

Document the alignment limitation of tor_free()

Nick Mathewson 6 年之前
父節點
當前提交
519fa1a3e6
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      src/common/util.h

+ 5 - 0
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                                 \