cangen: use if_nametoindex() to avoid overflows

This patch replaces strcpy() + ioctl() by if_nametoindex() to avoid
overflows caused by long user input.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
pull/386/head
Marc Kleine-Budde 2022-03-27 10:53:18 +02:00
parent 0f7c1aa23a
commit 1f96d674c0
1 changed files with 3 additions and 5 deletions

View File

@ -321,13 +321,11 @@ int main(int argc, char **argv)
}
addr.can_family = AF_CAN;
strcpy(ifr.ifr_name, argv[optind]);
if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) {
perror("SIOCGIFINDEX");
addr.can_ifindex = if_nametoindex(argv[optind]);
if (!addr.can_ifindex) {
perror("if_nametoindex");
return 1;
}
addr.can_ifindex = ifr.ifr_ifindex;
/*
* disable default receive filter on this RAW socket