summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--struct.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/struct.c b/struct.c
index d68b222e..9fcfd2ad 100644
--- a/struct.c
+++ b/struct.c
@@ -769,7 +769,8 @@ val allocate_struct(val type)
#define alloc_seen(name, size_name) \
const int bits_ucnum = sizeof (ucnum) * CHAR_BIT; \
- size_t size_name = (st->ndsupers + bits_ucnum - 1) / bits_ucnum; \
+ size_t nelem_name = (st->ndsupers + bits_ucnum - 1) / bits_ucnum; \
+ size_t size_name = nelem_name * sizeof (ucnum); \
ucnum *name ## tmp = coerce(ucnum *, alloca(size_name)); \
ucnum *name = (memset(name ## tmp, 0, size_name), name ## tmp)