From 9cb5c24b0023a769be1f6d9b6ca5d70792a11e22 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Wed, 13 May 2015 11:50:05 -0400 Subject: [PATCH] Fix: Check validity of returned ctf_type_id MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reported by Coverity Scan as ** CID 1297897: Error handling issues (CHECKED_RETURN) /formats/ctf/ir/visitor.c: 726 in print_path() Signed-off-by: Jérémie Galarneau --- formats/ctf/ir/visitor.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/formats/ctf/ir/visitor.c b/formats/ctf/ir/visitor.c index 6fc6e30e..9082138d 100644 --- a/formats/ctf/ir/visitor.c +++ b/formats/ctf/ir/visitor.c @@ -722,10 +722,16 @@ void print_path(const char *field_name, struct bt_ctf_field_path *field_path) { int i; + enum ctf_type_id type_id = bt_ctf_field_type_get_type_id( + resolved_type); + + if (type_id < CTF_TYPE_UNKNOWN || type_id >= NR_CTF_TYPES) { + type_id = CTF_TYPE_UNKNOWN; + } printf_verbose("Resolved field \"%s\" as type \"%s\", ", field_name, - type_names[bt_ctf_field_type_get_type_id(resolved_type)]); + type_names[type_id]); printf_verbose("path: %s", absolute_path_prefixes[field_path->root]); -- 2.34.1