X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=formats%2Fctf%2Fwriter%2Fevent-fields.c;h=c2ad4c2447537b2370823b21f5dee2f238e53f58;hb=a39fa057a49e51b05318265b270940d10c7b3d18;hp=ff970c0a86959fee1ce87ddcd2138dcb2b1b4c92;hpb=9f56e4500aa99bb2cd644a7c1a539fc66f3753b3;p=babeltrace.git diff --git a/formats/ctf/writer/event-fields.c b/formats/ctf/writer/event-fields.c index ff970c0a..c2ad4c24 100644 --- a/formats/ctf/writer/event-fields.c +++ b/formats/ctf/writer/event-fields.c @@ -179,8 +179,8 @@ struct bt_ctf_field *bt_ctf_field_create(struct bt_ctf_field_type *type) } type_id = bt_ctf_field_type_get_type_id(type); - if (type_id <= CTF_TYPE_UNKNOWN || - type_id >= NR_CTF_TYPES) { + if (type_id <= CTF_TYPE_UNKNOWN || type_id >= NR_CTF_TYPES || + bt_ctf_field_type_validate(type)) { goto error; } @@ -1131,7 +1131,10 @@ int bt_ctf_field_structure_serialize(struct bt_ctf_field *field, } } - ctf_align_pos(pos, field->type->declaration->alignment); + if (!ctf_align_pos(pos, field->type->declaration->alignment)) { + ret = -1; + goto end; + } for (i = 0; i < structure->fields->len; i++) { struct bt_ctf_field *field = g_ptr_array_index(