----- Original Message ----- > From: "Jérémie Galarneau" <[email protected]> > To: [email protected] > Sent: Thursday, November 14, 2013 7:40:57 PM > Subject: [lttng-dev] [PATCH babeltrace] Fix lint warnings > > ** CID 1125105: Unchecked close() return value > formats/ctf/writer/stream.c: 521 > > ** CID 1124085: Use after free > formats/ctf/writer/event-fields.c: 1128 > > ** CID 1124088: Dereference before null check > formats/ctf/writer/stream.c: 371
Merged, thanks! Mathieu > > Signed-off-by: Jérémie Galarneau <[email protected]> > --- > formats/ctf/writer/event-fields.c | 7 +++++-- > formats/ctf/writer/stream.c | 7 +++++-- > 2 files changed, 10 insertions(+), 4 deletions(-) > > diff --git a/formats/ctf/writer/event-fields.c > b/formats/ctf/writer/event-fields.c > index 30fe578..ff970c0 100644 > --- a/formats/ctf/writer/event-fields.c > +++ b/formats/ctf/writer/event-fields.c > @@ -1125,7 +1125,10 @@ int bt_ctf_field_structure_serialize(struct > bt_ctf_field *field, > while (!ctf_pos_access_ok(pos, > offset_align(pos->offset, > field->type->declaration->alignment))) { > - increase_packet_size(pos); > + ret = increase_packet_size(pos); > + if (ret) { > + goto end; > + } > } > > ctf_align_pos(pos, field->type->declaration->alignment); > @@ -1139,7 +1142,7 @@ int bt_ctf_field_structure_serialize(struct > bt_ctf_field *field, > break; > } > } > - > +end: > return ret; > } > > diff --git a/formats/ctf/writer/stream.c b/formats/ctf/writer/stream.c > index f03f170..ac89429 100644 > --- a/formats/ctf/writer/stream.c > +++ b/formats/ctf/writer/stream.c > @@ -368,7 +368,7 @@ int bt_ctf_stream_flush(struct bt_ctf_stream *stream) > int ret = 0; > size_t i; > uint64_t timestamp_begin, timestamp_end; > - struct bt_ctf_stream_class *stream_class = stream->stream_class; > + struct bt_ctf_stream_class *stream_class; > struct bt_ctf_field *integer = NULL; > struct ctf_stream_pos packet_context_pos; > > @@ -385,6 +385,7 @@ int bt_ctf_stream_flush(struct bt_ctf_stream *stream) > stream->flush.func(stream, stream->flush.data); > } > > + stream_class = stream->stream_class; > timestamp_begin = ((struct bt_ctf_event *) g_ptr_array_index( > stream->events, 0))->timestamp; > timestamp_end = ((struct bt_ctf_event *) g_ptr_array_index( > @@ -518,7 +519,9 @@ void bt_ctf_stream_destroy(struct bt_ctf_ref *ref) > > stream = container_of(ref, struct bt_ctf_stream, ref_count); > ctf_fini_pos(&stream->pos); > - close(stream->pos.fd); > + if (close(stream->pos.fd)) { > + perror("close"); > + } > bt_ctf_stream_class_put(stream->stream_class); > g_ptr_array_free(stream->events, TRUE); > g_free(stream); > -- > 1.8.4.2 > > > _______________________________________________ > lttng-dev mailing list > [email protected] > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev > -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
