From d4174c83e57bea6b592e5b68065f28bb797d882f Mon Sep 17 00:00:00 2001 From: Mateusz Majewski Date: Tue, 1 Sep 2020 12:41:28 +0200 Subject: [PATCH] Assert that the logger devices don't end Change-Id: Ib8abd22294360784158a75d49af127019922872a --- src/libdlogutil/fdi_logger.c | 2 ++ src/tests/fdi_logger_wrap.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libdlogutil/fdi_logger.c b/src/libdlogutil/fdi_logger.c index a1d1bec..ce2494e 100644 --- a/src/libdlogutil/fdi_logger.c +++ b/src/libdlogutil/fdi_logger.c @@ -222,6 +222,7 @@ static int logger_read(struct fd_info *fdi) assert(lpd->log_len != UNLIMITED_LOG_LEN); while (lpd->log_len > 0) { int r = read(fdi->fd, buff, sizeof buff); + assert(r != 0); if (r < 0) { /* Logs arriving into the buffer can overwrite existing logs, * but this doesn't update the total length on our side. This @@ -247,6 +248,7 @@ static int logger_read(struct fd_info *fdi) assert(!lpd->monitor); int r = read(fdi->fd, buff, sizeof buff); + assert(r != 0); if (r < 0) { if (lpd->log_len > 0 && lpd->log_len != UNLIMITED_LOG_LEN) { // See above diff --git a/src/tests/fdi_logger_wrap.c b/src/tests/fdi_logger_wrap.c index 4ca5a27..7cb8d79 100644 --- a/src/tests/fdi_logger_wrap.c +++ b/src/tests/fdi_logger_wrap.c @@ -94,8 +94,10 @@ ssize_t __wrap_read(int fd, void *buf, size_t count) return -1; } - if (read_cnt == NELEMS(READS)) - return 0; + if (read_cnt == NELEMS(READS)) { + errno = EAGAIN; + return -1; + } const size_t current_read = READS[read_cnt++]; assert(current_read < count); -- 2.7.4