memarea: Don't assume that sizeof(ulong) >= sizeof(void*).

Fixes bug 18716; bugfix on 0.2.1.1-alpha where memarea.c was
introduced.  Found by wbenny.
This commit is contained in:
Nick Mathewson 2016-04-07 11:10:14 -04:00
parent ad4ff7a5b9
commit 39c057d45a
2 changed files with 6 additions and 2 deletions

4
changes/bug18716 Normal file
View File

@ -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

View 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