Mercurial > pub > dyncall > dyncall
diff dyncall/dyncall_aggregate.c @ 551:eef302b7a58d
- amendment fix for buffer overflow (see commit 0455834d29a1), to also handle non-standard struct packing, + better asserts
- changelog wording tweaks for clarity
- comment tweaks for clarity
- (mostly pointless) microoptimization in aggr alignment calculation, avoiding a modulo, as alignment always a power of 2
- cleanups
author | Tassilo Philipp |
---|---|
date | Mon, 20 Jun 2022 14:57:49 +0200 |
parents | ba70fb631bea |
children | 1539ebfabebb |
line wrap: on
line diff
--- a/dyncall/dyncall_aggregate.c Mon Jun 20 14:24:37 2022 +0200 +++ b/dyncall/dyncall_aggregate.c Mon Jun 20 14:57:49 2022 +0200 @@ -84,7 +84,7 @@ va_end(ap); f->size = f->sub_aggr->size; - f->alignment = f->sub_aggr->alignment; + f->alignment = f->sub_aggr->alignment; /* field inherit's sub aggrs alignment*/ break; } default: @@ -94,7 +94,7 @@ if(type != DC_SIGCHAR_AGGREGATE) f->alignment = f->size; - /* aggr's field alignment is relative largest field size */ + /* aggr's field alignment is relative to largest field size */ if(ag->alignment < f->alignment) ag->alignment = f->alignment; }