[lttng-dev] [PATCH lttng-tools 1/1] Fix: relayd: handling of lttng_read errors >= 0

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Wed Apr 3 16:26:45 EDT 2019


errno is only set when lttng_read returns a negative value. Else, we
need to print a ERR() statement rather than use PERROR().

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
---
 src/common/index/index.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/common/index/index.c b/src/common/index/index.c
index 12d54e00..9bfb56fa 100644
--- a/src/common/index/index.c
+++ b/src/common/index/index.c
@@ -171,10 +171,14 @@ int lttng_index_file_read(const struct lttng_index_file *index_file,
 	}
 
 	ret = lttng_read(fd, element, len);
-	if (ret < len) {
+	if (ret < 0) {
 		PERROR("read index file");
 		goto error;
 	}
+	if (ret < len) {
+		ERR("lttng_read expected %zu, returned %zd", len, ret);
+		goto error;
+	}
 	return 0;
 
 error:
-- 
2.17.1



More information about the lttng-dev mailing list