From: Lennart Poettering Date: Thu, 31 Mar 2022 10:56:24 +0000 (+0200) Subject: uid-range: use size_t for array size X-Git-Tag: v251-rc2~226^2~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=09bbaa419b6522bac9ec58d6bf4967d39f0a7891;p=thirdparty%2Fsystemd.git uid-range: use size_t for array size --- diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c index 2c07a1b7a8c..1adf4f62c23 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 ef168cdb33a..1e118ec42c8 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 59b76c8620a..1061b4e603c 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 16cbab07d60..0c47e8ea53c 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);