From: Jérémie Galarneau Date: Mon, 30 May 2016 06:26:04 +0000 (-0400) Subject: Fix: validate return value of bt_ctf_field_get_type_id X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=35f77de41f6bde3e626605c70ae7195952b638a1;p=deliverable%2Fbabeltrace.git Fix: validate return value of bt_ctf_field_get_type_id Reported by Coverity as CID 1351739 (#1 of 1): Unchecked return value (CHECKED_RETURN) Signed-off-by: Jérémie Galarneau --- diff --git a/formats/ctf/ir/fields.c b/formats/ctf/ir/fields.c index 123c3153a..105dd7a1d 100644 --- a/formats/ctf/ir/fields.c +++ b/formats/ctf/ir/fields.c @@ -2339,12 +2339,19 @@ void bt_ctf_field_sequence_freeze(struct bt_ctf_field *field) BT_HIDDEN void bt_ctf_field_freeze(struct bt_ctf_field *field) { + enum bt_ctf_type_id type_id; + if (!field) { goto end; } - field_freeze_funcs[bt_ctf_field_get_type_id(field)](field); + type_id = bt_ctf_field_get_type_id(field); + if (type_id <= BT_CTF_TYPE_ID_UNKNOWN || + type_id >= BT_CTF_NR_TYPE_IDS) { + goto end; + } + field_freeze_funcs[type_id](field); end: return; }