Fix parse of ranges.
* src/usermod.c: Fix parse of ranges. The hyphen might be followed by a negative integer.
This commit is contained in:
parent
5917347c6f
commit
2e46882a9b
@ -1,3 +1,8 @@
|
|||||||
|
2013-08-15 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
|
* src/usermod.c: Fix parse of ranges. The hyphen might be followed
|
||||||
|
by a negative integer.
|
||||||
|
|
||||||
2013-08-15 Nicolas François <nicolas.francois@centraliens.net>
|
2013-08-15 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
* lib/subordinateio.c (find_free_range): max is allowed for new
|
* lib/subordinateio.c (find_free_range): max is allowed for new
|
||||||
|
@ -336,7 +336,7 @@ struct ulong_range
|
|||||||
static struct ulong_range getulong_range(const char *str)
|
static struct ulong_range getulong_range(const char *str)
|
||||||
{
|
{
|
||||||
struct ulong_range result = { .first = ULONG_MAX, .last = 0 };
|
struct ulong_range result = { .first = ULONG_MAX, .last = 0 };
|
||||||
unsigned long long first, last;
|
long long first, last;
|
||||||
char *pos;
|
char *pos;
|
||||||
|
|
||||||
errno = 0;
|
errno = 0;
|
||||||
@ -346,7 +346,7 @@ static struct ulong_range getulong_range(const char *str)
|
|||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
errno = 0;
|
errno = 0;
|
||||||
last = strtoul(pos + 1, &pos, 10);
|
last = strtoll(pos + 1, &pos, 10);
|
||||||
if (('\0' != *pos ) || (ERANGE == errno) ||
|
if (('\0' != *pos ) || (ERANGE == errno) ||
|
||||||
(last != (unsigned long int)last))
|
(last != (unsigned long int)last))
|
||||||
goto out;
|
goto out;
|
||||||
|
Loading…
Reference in New Issue
Block a user