]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
memarea: Don't assume that sizeof(ulong) >= sizeof(void*).
authorNick Mathewson <nickm@torproject.org>
Thu, 7 Apr 2016 15:10:14 +0000 (11:10 -0400)
committerNick Mathewson <nickm@torproject.org>
Thu, 7 Apr 2016 15:10:14 +0000 (11:10 -0400)
Fixes bug 18716; bugfix on 0.2.1.1-alpha where memarea.c was
introduced.  Found by wbenny.

changes/bug18716 [new file with mode: 0644]
src/common/memarea.c

diff --git a/changes/bug18716 b/changes/bug18716
new file mode 100644 (file)
index 0000000..b15a343
--- /dev/null
@@ -0,0 +1,4 @@
+  o Minor bugfixes (assert, portability):
+    - Fix an assertion failure in memarea.c on systems where "long" is
+      shorter than the size of a pointer.
+      Fixes bug 18716; bugfix on 0.2.1.1-alpha
index 6841ba54e793fb9358f7e92c2a1470a3b01ef317..6c7e4c7d64ee15af426f2001d12cbaef54c3ea24 100644 (file)
@@ -22,9 +22,9 @@
 #define MEMAREA_ALIGN SIZEOF_VOID_P
 
 #if MEMAREA_ALIGN == 4
-#define MEMAREA_ALIGN_MASK 3lu
+#define MEMAREA_ALIGN_MASK ((uintptr_t)3)
 #elif MEMAREA_ALIGN == 8
-#define MEMAREA_ALIGN_MASK 7lu
+#define MEMAREA_ALIGN_MASK ((uintptr_t)7)
 #else
 #error "void* is neither 4 nor 8 bytes long. I don't know how to align stuff."
 #endif