ipcs: check errno after strto..()
Addresses: https://github.com/karelzak/util-linux/issues/1356 Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
b0cfd4ba3a
commit
c9eea1b354
|
@ -122,9 +122,14 @@ int main(int argc, char **argv)
|
|||
ask_sem = 1;
|
||||
break;
|
||||
case 'p':
|
||||
{
|
||||
char *end = NULL;
|
||||
errno = 0;
|
||||
permission = strtoul(optarg, NULL, 8);
|
||||
if (errno || optarg == end || (end && *end))
|
||||
err(EXIT_FAILURE, _("failed to parse mode"));
|
||||
break;
|
||||
|
||||
}
|
||||
case 'h':
|
||||
usage();
|
||||
case 'V':
|
||||
|
|
|
@ -125,12 +125,13 @@ static int remove_id(int type, int iskey, int id)
|
|||
static int remove_arg_list(type_id type, int argc, char **argv)
|
||||
{
|
||||
int id;
|
||||
char *end;
|
||||
char *end = NULL;
|
||||
int nb_errors = 0;
|
||||
|
||||
do {
|
||||
errno = 0;
|
||||
id = strtoul(argv[0], &end, 10);
|
||||
if (*end != 0) {
|
||||
if (errno || !end || *end != 0) {
|
||||
warnx(_("invalid id: %s"), argv[0]);
|
||||
nb_errors++;
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue