From 89c5b12e82876b68252973210cb5ab98e5241ab1 Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Tue, 13 Apr 2021 13:17:53 +0100 Subject: [PATCH] rfkill: add some casts to silence -Werror=sign-compare (cherry picked from commit ab1aa6368a883bce88e3162fee2bea14aacedf23) Fixes https://github.com/systemd/systemd-stable/issues/101. (cherry picked from commit 074475abc1d6187de88b77dcc4fe0c4d2ab804f5) (cherry picked from commit a4cd7949c47f55aa972098e080b65084c9e60ff9) --- src/rfkill/rfkill.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rfkill/rfkill.c b/src/rfkill/rfkill.c index 8d91b41552..e5f44f1056 100644 --- a/src/rfkill/rfkill.c +++ b/src/rfkill/rfkill.c @@ -177,7 +177,7 @@ static int load_state(Context *c, const struct rfkill_event *event) { ssize_t l = write(c->rfkill_fd, &we, sizeof we); if (l < 0) return log_error_errno(errno, "Failed to restore rfkill state for %i: %m", event->idx); - if (l < RFKILL_EVENT_SIZE_V1) + if ((size_t)l < RFKILL_EVENT_SIZE_V1) /* l cannot be < 0 here. Cast to fix -Werror=sign-compare */ return log_error_errno(SYNTHETIC_ERRNO(EIO), "Couldn't write rfkill event structure, too short (wrote %zd of %zu bytes).", l, sizeof we); @@ -335,9 +335,9 @@ static int run(int argc, char *argv[]) { break; } - if (l < RFKILL_EVENT_SIZE_V1) - return log_error_errno(SYNTHETIC_ERRNO(EIO), "Short read of struct rfkill_event: (%zd < %d)", - l, RFKILL_EVENT_SIZE_V1); + if ((size_t)l < RFKILL_EVENT_SIZE_V1) /* l cannot be < 0 here. Cast to fix -Werror=sign-compare */ + return log_error_errno(SYNTHETIC_ERRNO(EIO), "Short read of struct rfkill_event: (%zd < %zu)", + l, (size_t) RFKILL_EVENT_SIZE_V1); /* Casting necessary to make compiling with different kernel versions happy */ log_debug("Reading struct rfkill_event: got %zd bytes.", l); /* The event structure has more fields. We only care about the first few, so it's OK if we -- 2.25.1