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

Reply via email to