mirror of
https://github.com/frida/tinycc
synced 2025-01-17 16:59:19 +03:00
type_size function returned incorrect size
of multi dimensional arrays if dimension is divisable by 2
This commit is contained in:
parent
64147b346b
commit
5a044b67bb
9
tcc.c
9
tcc.c
@ -6229,8 +6229,15 @@ static int type_size(CType *type, int *a)
|
||||
return s->c;
|
||||
} else if (bt == VT_PTR) {
|
||||
if (type->t & VT_ARRAY) {
|
||||
int ts;
|
||||
|
||||
s = type->ref;
|
||||
return type_size(&s->type, a) * s->c;
|
||||
ts = type_size(&s->type, a);
|
||||
|
||||
if (ts < 0 && s->c < 0)
|
||||
ts = -ts;
|
||||
|
||||
return ts * s->c;
|
||||
} else {
|
||||
*a = PTR_SIZE;
|
||||
return PTR_SIZE;
|
||||
|
Loading…
Reference in New Issue
Block a user