projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mbslen: Avoid collision with system function.
[gnulib.git]
/
lib
/
userspec.c
diff --git
a/lib/userspec.c
b/lib/userspec.c
index
fa2f26f
..
388f723
100644
(file)
--- a/
lib/userspec.c
+++ b/
lib/userspec.c
@@
-1,5
+1,5
@@
/* userspec.c -- Parse a user and group string.
/* userspec.c -- Parse a user and group string.
- Copyright (C) 1989-1992, 1997-1998, 2000, 2002-20
09
Free Software
+ Copyright (C) 1989-1992, 1997-1998, 2000, 2002-20
10
Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@
-169,7
+169,7
@@
parse_with_separator (char const *spec, char const *separator,
{
unsigned long int tmp;
if (xstrtoul (u, NULL, 10, &tmp, "") == LONGINT_OK
{
unsigned long int tmp;
if (xstrtoul (u, NULL, 10, &tmp, "") == LONGINT_OK
- && tmp <= MAXUID)
+ && tmp <= MAXUID
&& (uid_t) tmp != (uid_t) -1
)
unum = tmp;
else
error_msg = E_invalid_user;
unum = tmp;
else
error_msg = E_invalid_user;
@@
-200,7
+200,8
@@
parse_with_separator (char const *spec, char const *separator,
if (grp == NULL)
{
unsigned long int tmp;
if (grp == NULL)
{
unsigned long int tmp;
- if (xstrtoul (g, NULL, 10, &tmp, "") == LONGINT_OK && tmp <= MAXGID)
+ if (xstrtoul (g, NULL, 10, &tmp, "") == LONGINT_OK
+ && tmp <= MAXGID && (gid_t) tmp != (gid_t) -1)
gnum = tmp;
else
error_msg = E_invalid_group;
gnum = tmp;
else
error_msg = E_invalid_group;