csanchezdll commented on code in PR #3059: URL: https://github.com/apache/nuttx-apps/pull/3059#discussion_r2046705164
########## canutils/slcan/slcan.c: ########## @@ -137,8 +137,7 @@ static int caninit(char *candev, int *s, struct sockaddr_can *addr, syslog(LOG_ERR, "Error opening CAN socket\n"); return -1; } - strncpy(ifr.ifr_name, candev, 4); - ifr.ifr_name[4] = '\0'; + strlcpy(ifr.ifr_name, candev, IFNAMSIZ); Review Comment: This was here on my first version of the PR, with the original strncpy. Changing to strlcpy and removing the explicit \0 addition was suggested by @xiaoxiang781216 just above https://github.com/apache/nuttx-apps/pull/3059#discussion_r2045139275. I agree with him, strlcpy is safer, as it is guaranteed to add a \0 (strncpy will only *copy* the original \0 if it fits in the buffer). Therefore, the explicit \0 is no longer needed. ########## canutils/slcan/slcan.c: ########## @@ -316,9 +316,22 @@ int main(int argc, char *argv[]) { /* open CAN interface */ - mode = 1; - debug_print("Open interface\n"); - ok_return(fd); + struct ifreq ifr; + + strlcpy(ifr.ifr_name, argv[1], IFNAMSIZ); + Review Comment: Same here, strlcpy is garanteed to ad \0 even if the string source of the copy is longer than the destination buffer. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org