35 lines
1.1 KiB
Diff
35 lines
1.1 KiB
Diff
diff -up shadow-4.6/libmisc/find_new_gid.c.min-limit shadow-4.6/libmisc/find_new_gid.c
|
|
--- shadow-4.6/libmisc/find_new_gid.c.min-limit 2018-04-29 18:42:37.000000001 +0200
|
|
+++ shadow-4.6/libmisc/find_new_gid.c 2018-11-06 10:51:20.554963292 +0100
|
|
@@ -82,6 +82,13 @@ static int get_ranges (bool sys_group, g
|
|
(unsigned long) *max_id);
|
|
return EINVAL;
|
|
}
|
|
+ /*
|
|
+ * Zero is reserved for root and the allocation algorithm does not
|
|
+ * work right with it.
|
|
+ */
|
|
+ if (*min_id == 0) {
|
|
+ *min_id = (gid_t) 1;
|
|
+ }
|
|
} else {
|
|
/* Non-system groups */
|
|
|
|
diff -up shadow-4.6/libmisc/find_new_uid.c.min-limit shadow-4.6/libmisc/find_new_uid.c
|
|
--- shadow-4.6/libmisc/find_new_uid.c.min-limit 2018-04-29 18:42:37.000000001 +0200
|
|
+++ shadow-4.6/libmisc/find_new_uid.c 2018-11-06 10:51:39.341399569 +0100
|
|
@@ -82,6 +82,13 @@ static int get_ranges (bool sys_user, ui
|
|
(unsigned long) *max_id);
|
|
return EINVAL;
|
|
}
|
|
+ /*
|
|
+ * Zero is reserved for root and the allocation algorithm does not
|
|
+ * work right with it.
|
|
+ */
|
|
+ if (*min_id == 0) {
|
|
+ *min_id = (uid_t) 1;
|
|
+ }
|
|
} else {
|
|
/* Non-system users */
|
|
|