On Tue, May 17, 2016 at 12:17 PM, Mathieu Desnoyers <[email protected]> wrote: > Found by Coverity: > > CID 1019971 (#1 of 1): Unchecked return value from library > (CHECKED_RETURN)2. check_return: Calling posix_fadvise(outfd, > orig_offset - stream->max_sb_size, stream->max_sb_size, 4) without > checking return value. This library function may fail and return an > error code. > > Signed-off-by: Mathieu Desnoyers <[email protected]> > --- > src/common/consumer/consumer.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/src/common/consumer/consumer.c b/src/common/consumer/consumer.c > index cb05a1e..e22de4d 100644 > --- a/src/common/consumer/consumer.c > +++ b/src/common/consumer/consumer.c > @@ -1262,8 +1262,10 @@ void lttng_consumer_sync_trace_file(struct > lttng_consumer_stream *stream, > * defined. So it can be expected to lead to lower throughput in > * streaming. > */ > - posix_fadvise(outfd, orig_offset - stream->max_sb_size, > - stream->max_sb_size, POSIX_FADV_DONTNEED); > + if (posix_fadvise(outfd, orig_offset - stream->max_sb_size, > + stream->max_sb_size, POSIX_FADV_DONTNEED)) { > + DBG("Ignoring posix_fadvise() error: %s.", strerror(errno));
posix_fadvise() does not set errno on error, it returns the error code directly. I have merged an alternative fix as: commit c7a78aabfa0491974d4ffc188d72eb1e67c7344e Author: Jérémie Galarneau <[email protected]> Date: Tue May 17 12:17:05 2016 -0400 Fix: unchecked posix_fadvise() return value Found by Coverity: CID 1019971 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)2. check_return: Calling posix_fadvise(outfd, orig_offset - stream->max_sb_size, stream->max_sb_size, 4) without checking return value. This library function may fail and return an error code. Signed-off-by: Jérémie Galarneau <[email protected]> I also set this to WARN() since we'd probably want to know if we're misusing posix_fadvise or passing a bad FD, etc. Thanks! Jérémie > + } > } > > /* > -- > 2.1.4 > -- Jérémie Galarneau EfficiOS Inc. http://www.efficios.com _______________________________________________ lttng-dev mailing list [email protected] https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
