aboutsummaryrefslogtreecommitdiff
path: root/tccgen.c
diff options
context:
space:
mode:
authorHenry Kroll III <henry@comptune.com>2016-03-10 08:28:26 -0800
committerHenry Kroll III <henry@comptune.com>2016-03-10 08:28:26 -0800
commit7e0ad4fdd2d5359799f16732df07e00c8719c1e6 (patch)
tree40349545a39d7b8fe1bec64a791eba1989612833 /tccgen.c
parentf75f89fc8f2116c4cfe35022c19ed854e6a23b84 (diff)
downloadtinycc-7e0ad4fdd2d5359799f16732df07e00c8719c1e6.tar.gz
tinycc-7e0ad4fdd2d5359799f16732df07e00c8719c1e6.tar.bz2
tccgen.c: off by one in flexible array members
tccgen.c: fix fexible array member breaking struct alignment
Diffstat (limited to 'tccgen.c')
-rw-r--r--tccgen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tccgen.c b/tccgen.c
index 3cd28ed..270d11c 100644
--- a/tccgen.c
+++ b/tccgen.c
@@ -5847,7 +5847,7 @@ static void decl_initializer_alloc(CType *type, AttributeDef *ad, int r,
tcc_error("unknown type size");
}
if (flexible_array)
- size += flexible_array->type.ref->c * pointed_size(&flexible_array->type);
+ size += flexible_array->type.ref->c * pointed_size(&flexible_array->type) + 1;
/* take into account specified alignment if bigger */
if (ad->a.aligned) {
if (ad->a.aligned > align)