summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-04-12 13:02:02 -0400
committerNick Mathewson <nickm@torproject.org>2016-04-12 13:02:02 -0400
commit7babf33239eb1e349826753a9d0405cb59150cce (patch)
tree049623933d310ce28bd89e71ab2128c078165298
parent40827da3bfafb3191433d4151d48f79c511dcd42 (diff)
parent39c057d45a67f9aa80bc05df85ec8deafdb6f46a (diff)
downloadtor-7babf33239eb1e349826753a9d0405cb59150cce.tar.gz
tor-7babf33239eb1e349826753a9d0405cb59150cce.zip
Merge remote-tracking branch 'public/bug18716_027' into maint-0.2.8
-rw-r--r--changes/bug187164
-rw-r--r--src/common/memarea.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/changes/bug18716 b/changes/bug18716
new file mode 100644
index 0000000000..b15a343f4c
--- /dev/null
+++ b/changes/bug18716
@@ -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
diff --git a/src/common/memarea.c b/src/common/memarea.c
index cfba80be93..0a3fd009b0 100644
--- a/src/common/memarea.c
+++ b/src/common/memarea.c
@@ -24,9 +24,9 @@
/** A value which, when masked out of a pointer, produces a maximally aligned
* pointer. */
#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