X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=formats%2Fctf%2Fmetadata%2Fobjstack.c;h=8087722059cd3d28cb66a7241de1ba8d7debca50;hb=4c624781260fac44edf38ebfd63aee200c889cd6;hp=9e264a415d3311755489940c2a490c9255b34a17;hpb=92c6a024cd3e81293bd39fd2b322e12ce57ea502;p=babeltrace.git diff --git a/formats/ctf/metadata/objstack.c b/formats/ctf/metadata/objstack.c index 9e264a41..80877220 100644 --- a/formats/ctf/metadata/objstack.c +++ b/formats/ctf/metadata/objstack.c @@ -27,7 +27,9 @@ #include #include #include +#include +#define OBJSTACK_ALIGN 8 /* Object stack alignment */ #define OBJSTACK_INIT_LEN 128 #define OBJSTACK_POISON 0xcc @@ -39,7 +41,7 @@ struct objstack_node { struct bt_list_head node; size_t len; size_t used_len; - char data[]; + char __attribute__ ((aligned (OBJSTACK_ALIGN))) data[]; }; BT_HIDDEN @@ -118,6 +120,8 @@ void *objstack_alloc(struct objstack *objstack, size_t len) struct objstack_node *last_node; void *p; + len = ALIGN(len, OBJSTACK_ALIGN); + /* Get last node */ last_node = bt_list_entry(objstack->head.prev, struct objstack_node, node);