Added missing length check for strcpy(ifr.ifr_name, argv[x]).
parent
47fbe8fec2
commit
144e698dc7
|
|
@ -356,6 +356,10 @@ int main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
addr.can_family = family;
|
addr.can_family = family;
|
||||||
|
if (strlen(intf_name) >= IFNAMSIZ) {
|
||||||
|
printf("name of CAN device '%s' is too long!\n", intf_name);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
strcpy(ifr.ifr_name, intf_name);
|
strcpy(ifr.ifr_name, intf_name);
|
||||||
ioctl(sockfd, SIOCGIFINDEX, &ifr);
|
ioctl(sockfd, SIOCGIFINDEX, &ifr);
|
||||||
addr.can_ifindex = ifr.ifr_ifindex;
|
addr.can_ifindex = ifr.ifr_ifindex;
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,10 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
addr.can_family = AF_CAN;
|
addr.can_family = AF_CAN;
|
||||||
|
|
||||||
|
if (strlen(argv[1]) >= IFNAMSIZ) {
|
||||||
|
printf("name of CAN device '%s' is too long!\n", argv[1]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
strcpy(ifr.ifr_name, argv[1]);
|
strcpy(ifr.ifr_name, argv[1]);
|
||||||
if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) {
|
if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) {
|
||||||
perror("SIOCGIFINDEX");
|
perror("SIOCGIFINDEX");
|
||||||
|
|
|
||||||
|
|
@ -202,6 +202,10 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
setsockopt(s, SOL_CAN_RAW, CAN_RAW_FILTER, &rfilter, sizeof(rfilter));
|
setsockopt(s, SOL_CAN_RAW, CAN_RAW_FILTER, &rfilter, sizeof(rfilter));
|
||||||
|
|
||||||
|
if (strlen(argv[optind]) >= IFNAMSIZ) {
|
||||||
|
printf("name of CAN device '%s' is too long!\n", argv[optind]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
strcpy(ifr.ifr_name, argv[optind]);
|
strcpy(ifr.ifr_name, argv[optind]);
|
||||||
ioctl(s, SIOCGIFINDEX, &ifr);
|
ioctl(s, SIOCGIFINDEX, &ifr);
|
||||||
ifindex = ifr.ifr_ifindex;
|
ifindex = ifr.ifr_ifindex;
|
||||||
|
|
|
||||||
|
|
@ -232,6 +232,10 @@ int main(int argc, char **argv)
|
||||||
setsockopt(s, SOL_CAN_ISOTP, CAN_ISOTP_RX_STMIN, &force_rx_stmin, sizeof(force_rx_stmin));
|
setsockopt(s, SOL_CAN_ISOTP, CAN_ISOTP_RX_STMIN, &force_rx_stmin, sizeof(force_rx_stmin));
|
||||||
|
|
||||||
addr.can_family = AF_CAN;
|
addr.can_family = AF_CAN;
|
||||||
|
if (strlen(argv[optind]) >= IFNAMSIZ) {
|
||||||
|
printf("name of CAN device '%s' is too long!\n", argv[optind]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
strcpy(ifr.ifr_name, argv[optind]);
|
strcpy(ifr.ifr_name, argv[optind]);
|
||||||
ioctl(s, SIOCGIFINDEX, &ifr);
|
ioctl(s, SIOCGIFINDEX, &ifr);
|
||||||
addr.can_ifindex = ifr.ifr_ifindex;
|
addr.can_ifindex = ifr.ifr_ifindex;
|
||||||
|
|
|
||||||
|
|
@ -224,6 +224,10 @@ int main(int argc, char **argv)
|
||||||
setsockopt(s, SOL_CAN_ISOTP, CAN_ISOTP_TX_STMIN, &force_tx_stmin, sizeof(force_tx_stmin));
|
setsockopt(s, SOL_CAN_ISOTP, CAN_ISOTP_TX_STMIN, &force_tx_stmin, sizeof(force_tx_stmin));
|
||||||
|
|
||||||
addr.can_family = AF_CAN;
|
addr.can_family = AF_CAN;
|
||||||
|
if (strlen(argv[optind]) >= IFNAMSIZ) {
|
||||||
|
printf("name of CAN device '%s' is too long!\n", argv[optind]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
strcpy(ifr.ifr_name, argv[optind]);
|
strcpy(ifr.ifr_name, argv[optind]);
|
||||||
ioctl(s, SIOCGIFINDEX, &ifr);
|
ioctl(s, SIOCGIFINDEX, &ifr);
|
||||||
addr.can_ifindex = ifr.ifr_ifindex;
|
addr.can_ifindex = ifr.ifr_ifindex;
|
||||||
|
|
|
||||||
|
|
@ -345,6 +345,10 @@ int main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
caddr.can_family = AF_CAN;
|
caddr.can_family = AF_CAN;
|
||||||
|
if (strlen(argv[optind]) >= IFNAMSIZ) {
|
||||||
|
printf("name of CAN device '%s' is too long!\n", argv[optind]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
strcpy(ifr.ifr_name, argv[optind]);
|
strcpy(ifr.ifr_name, argv[optind]);
|
||||||
if (ioctl(sc, SIOCGIFINDEX, &ifr) < 0) {
|
if (ioctl(sc, SIOCGIFINDEX, &ifr) < 0) {
|
||||||
perror("SIOCGIFINDEX");
|
perror("SIOCGIFINDEX");
|
||||||
|
|
|
||||||
|
|
@ -272,6 +272,11 @@ int main(int argc, char **argv)
|
||||||
opts.flags |= CAN_ISOTP_LISTEN_MODE;
|
opts.flags |= CAN_ISOTP_LISTEN_MODE;
|
||||||
|
|
||||||
addr.can_family = AF_CAN;
|
addr.can_family = AF_CAN;
|
||||||
|
|
||||||
|
if (strlen(argv[optind]) >= IFNAMSIZ) {
|
||||||
|
printf("name of CAN device '%s' is too long!\n", argv[optind]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
strcpy(ifr.ifr_name, argv[optind]);
|
strcpy(ifr.ifr_name, argv[optind]);
|
||||||
ioctl(s, SIOCGIFINDEX, &ifr);
|
ioctl(s, SIOCGIFINDEX, &ifr);
|
||||||
addr.can_ifindex = ifr.ifr_ifindex;
|
addr.can_ifindex = ifr.ifr_ifindex;
|
||||||
|
|
|
||||||
|
|
@ -266,6 +266,10 @@ int main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
addr.can_family = AF_CAN;
|
addr.can_family = AF_CAN;
|
||||||
|
if (strlen(argv[optind]) >= IFNAMSIZ) {
|
||||||
|
printf("name of CAN device '%s' is too long!\n", argv[optind]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
strcpy(ifr.ifr_name, argv[optind]);
|
strcpy(ifr.ifr_name, argv[optind]);
|
||||||
ioctl(s, SIOCGIFINDEX, &ifr);
|
ioctl(s, SIOCGIFINDEX, &ifr);
|
||||||
addr.can_ifindex = ifr.ifr_ifindex;
|
addr.can_ifindex = ifr.ifr_ifindex;
|
||||||
|
|
|
||||||
|
|
@ -491,6 +491,10 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
addr.can_family = AF_CAN;
|
addr.can_family = AF_CAN;
|
||||||
|
|
||||||
|
if (strlen(argv[2]) >= IFNAMSIZ) {
|
||||||
|
printf("name of CAN device '%s' is too long!\n", argv[2]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
strcpy(ifr.ifr_name, argv[2]);
|
strcpy(ifr.ifr_name, argv[2]);
|
||||||
if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) {
|
if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) {
|
||||||
perror("SIOCGIFINDEX");
|
perror("SIOCGIFINDEX");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue