From 09bbaa419b6522bac9ec58d6bf4967d39f0a7891 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 31 Mar 2022 12:56:24 +0200 Subject: [PATCH] uid-range: use size_t for array size --- src/shared/uid-range.c | 20 ++++++++++---------- src/shared/uid-range.h | 8 ++++---- src/sysusers/sysusers.c | 2 +- src/test/test-uid-range.c | 2 +- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c index 2c07a1b7a8..1adf4f62c2 100644 --- a/src/shared/uid-range.c +++ b/src/shared/uid-range.c @@ -17,12 +17,12 @@ static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) { range->start + range->nr >= start; } -static void uid_range_coalesce(UidRange **p, unsigned *n) { +static void uid_range_coalesce(UidRange **p, size_t *n) { assert(p); assert(n); - for (unsigned i = 0; i < *n; i++) { - for (unsigned j = i + 1; j < *n; j++) { + for (size_t i = 0; i < *n; i++) { + for (size_t j = i + 1; j < *n; j++) { UidRange *x = (*p)+i, *y = (*p)+j; if (uid_range_intersect(x, y->start, y->nr)) { @@ -54,7 +54,7 @@ static int uid_range_compare(const UidRange *a, const UidRange *b) { return CMP(a->nr, b->nr); } -int uid_range_add(UidRange **p, unsigned *n, uid_t start, uid_t nr) { +int uid_range_add(UidRange **p, size_t *n, uid_t start, uid_t nr) { bool found = false; UidRange *x; @@ -64,7 +64,7 @@ int uid_range_add(UidRange **p, unsigned *n, uid_t start, uid_t nr) { if (nr <= 0) return 0; - for (unsigned i = 0; i < *n; i++) { + for (size_t i = 0; i < *n; i++) { x = (*p) + i; if (uid_range_intersect(x, start, nr)) { found = true; @@ -100,7 +100,7 @@ int uid_range_add(UidRange **p, unsigned *n, uid_t start, uid_t nr) { return *n; } -int uid_range_add_str(UidRange **p, unsigned *n, const char *s) { +int uid_range_add_str(UidRange **p, size_t *n, const char *s) { uid_t start, nr; const char *t; int r; @@ -138,7 +138,7 @@ int uid_range_add_str(UidRange **p, unsigned *n, const char *s) { return uid_range_add(p, n, start, nr); } -int uid_range_next_lower(const UidRange *p, unsigned n, uid_t *uid) { +int uid_range_next_lower(const UidRange *p, size_t n, uid_t *uid) { uid_t closest = UID_INVALID, candidate; assert(p); @@ -146,7 +146,7 @@ int uid_range_next_lower(const UidRange *p, unsigned n, uid_t *uid) { candidate = *uid - 1; - for (unsigned i = 0; i < n; i++) { + for (size_t i = 0; i < n; i++) { uid_t begin, end; begin = p[i].start; @@ -168,11 +168,11 @@ int uid_range_next_lower(const UidRange *p, unsigned n, uid_t *uid) { return 1; } -bool uid_range_contains(const UidRange *p, unsigned n, uid_t uid) { +bool uid_range_contains(const UidRange *p, size_t n, uid_t uid) { assert(p); assert(uid); - for (unsigned i = 0; i < n; i++) + for (size_t i = 0; i < n; i++) if (uid >= p[i].start && uid < p[i].start + p[i].nr) return true; diff --git a/src/shared/uid-range.h b/src/shared/uid-range.h index ef168cdb33..1e118ec42c 100644 --- a/src/shared/uid-range.h +++ b/src/shared/uid-range.h @@ -8,8 +8,8 @@ typedef struct UidRange { uid_t start, nr; } UidRange; -int uid_range_add(UidRange **p, unsigned *n, uid_t start, uid_t nr); -int uid_range_add_str(UidRange **p, unsigned *n, const char *s); +int uid_range_add(UidRange **p, size_t *n, uid_t start, uid_t nr); +int uid_range_add_str(UidRange **p, size_t *n, const char *s); -int uid_range_next_lower(const UidRange *p, unsigned n, uid_t *uid); -bool uid_range_contains(const UidRange *p, unsigned n, uid_t uid); +int uid_range_next_lower(const UidRange *p, size_t n, uid_t *uid); +bool uid_range_contains(const UidRange *p, size_t n, uid_t uid); diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c index 59b76c8620..1061b4e603 100644 --- a/src/sysusers/sysusers.c +++ b/src/sysusers/sysusers.c @@ -104,7 +104,7 @@ static Set *database_users = NULL, *database_groups = NULL; static uid_t search_uid = UID_INVALID; static UidRange *uid_range = NULL; -static unsigned n_uid_range = 0; +static size_t n_uid_range = 0; static UGIDAllocationRange login_defs = {}; static bool login_defs_need_warning = false; diff --git a/src/test/test-uid-range.c b/src/test/test-uid-range.c index 16cbab07d6..0c47e8ea53 100644 --- a/src/test/test-uid-range.c +++ b/src/test/test-uid-range.c @@ -9,7 +9,7 @@ int main(int argc, char *argv[]) { _cleanup_free_ UidRange *p = NULL; - unsigned n = 0; + size_t n = 0; uid_t search; assert_se(uid_range_add_str(&p, &n, "500-999") >= 0);