]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
lib/: find_free_range(): Set errno on error
authorAlejandro Colomar <alx@kernel.org>
Sun, 15 Mar 2026 14:34:09 +0000 (15:34 +0100)
committerSerge Hallyn <serge@hallyn.com>
Fri, 10 Apr 2026 03:20:34 +0000 (22:20 -0500)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/find_new_sub_gids.c
lib/find_new_sub_uids.c
lib/subordinateio.c

index 591fe2df2466bcb9b1b1c44ded07c440dcde66a9..f858c1c1c8b89d936e0444ef250382312a6ac1fe 100644 (file)
@@ -44,10 +44,9 @@ int find_new_sub_gids (id_t *range_start, unsigned long *range_count)
        }
 
        start = sub_gid_find_free_range(min, max, count);
-       if (start == -1) {
-               errno = EUSERS;
+       if (start == -1)
                return -1;
-       }
+
        *range_start = start;
        *range_count = count;
        return 0;
index 8521e802c6b3177c6b1eb2549947907a15b970df..02675b0f92fc077a009220dfd6f979e8f3022a25 100644 (file)
@@ -44,10 +44,9 @@ int find_new_sub_uids (id_t *range_start, unsigned long *range_count)
        }
 
        start = sub_uid_find_free_range(min, max, count);
-       if (start == -1) {
-               errno = EUSERS;
+       if (start == -1)
                return -1;
-       }
+
        *range_start = start;
        *range_count = count;
        return 0;
index c8dcb2ad50ecd910a4662572982eb5ca2116fa2d..33c99f957465a4dd570c359f5c4394357b6b5d21 100644 (file)
@@ -336,8 +336,10 @@ find_free_range(struct commonio_db *db, id_t min, id_t max, unsigned long count)
        const struct subordinate_range *range;
 
        /* When given invalid parameters fail */
-       if ((count == 0) || (max < min))
-               goto fail;
+       if ((count == 0) || (max < min)) {
+               errno = ERANGE;
+               return -1;
+       }
 
        /* Sort by range then by owner */
        commonio_sort (db, subordinate_range_cmp);
@@ -373,6 +375,7 @@ find_free_range(struct commonio_db *db, id_t min, id_t max, unsigned long count)
        if (((max - low) + 1) >= count)
                return low;
 fail:
+       errno = EUSERS;
        return -1;
 }