Fix: assert compared unsigned to 0
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 24 Jul 2017 21:21:17 +0000 (17:21 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Mon, 7 Aug 2017 20:57:16 +0000 (16:57 -0400)
Found by Coverity:

CID 1376195 (#1 of 1): Macro compares unsigned to 0 (NO_EFFECT)
unsigned_compare: This greater-than-or-equal-to-zero comparison of an
unsigned value is always true. event_class_id >= 0UL.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
lib/ctf-ir/stream.c

index f13c024a3f230628853a5730c826c113b2bc6834..fcd8c80ebc00c000bbd8e58368c08702cadd33b8 100644 (file)
@@ -1156,7 +1156,7 @@ static int auto_populate_event_header(struct bt_ctf_stream *stream,
        int ret = 0;
        struct bt_ctf_field *id_field = NULL, *timestamp_field = NULL;
        struct bt_ctf_clock_class *mapped_clock_class = NULL;
-       uint64_t event_class_id;
+       int64_t event_class_id;
 
        assert(event);
 
@@ -1175,8 +1175,12 @@ static int auto_populate_event_header(struct bt_ctf_stream *stream,
                stream, bt_ctf_stream_get_name(stream), event);
 
        id_field = bt_ctf_field_structure_get_field(event->event_header, "id");
-       event_class_id = (uint64_t) bt_ctf_event_class_get_id(event->event_class);
-       assert(event_class_id >= 0);
+       event_class_id = bt_ctf_event_class_get_id(event->event_class);
+       if (event_class_id < 0) {
+               BT_LOGE("Event class ID cannot be found");
+               ret = -1;
+               goto end;
+       }
        if (id_field && bt_ctf_field_type_is_integer(id_field->type)) {
                ret = set_integer_field_value(id_field, event_class_id);
                if (ret) {
This page took 0.025777 seconds and 4 git commands to generate.