docs: networking: Replace strncpy() with strscpy()

Replace example code's use of strncpy() with strscpy() functions. Using
strncpy() is considered deprecated:
https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings

Signed-off-by: Kees Cook <keescook@chromium.org>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://lore.kernel.org/r/20210602202914.4079123-1-keescook@chromium.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Kees Cook 2021-06-02 13:29:14 -07:00 committed by Jonathan Corbet
parent 709dedfdf3
commit f9ce26c56d
3 changed files with 3 additions and 3 deletions

View File

@ -263,7 +263,7 @@ possible overrun should the name be too long::
char name[128]; char name[128];
if (ioctl(fd, JSIOCGNAME(sizeof(name)), name) < 0) if (ioctl(fd, JSIOCGNAME(sizeof(name)), name) < 0)
strncpy(name, "Unknown", sizeof(name)); strscpy(name, "Unknown", sizeof(name));
printf("Name: %s\n", name); printf("Name: %s\n", name);

View File

@ -153,7 +153,7 @@ As capture, each frame contains two parts::
struct ifreq s_ifr; struct ifreq s_ifr;
... ...
strncpy (s_ifr.ifr_name, "eth0", sizeof(s_ifr.ifr_name)); strscpy_pad (s_ifr.ifr_name, "eth0", sizeof(s_ifr.ifr_name));
/* get interface index of eth0 */ /* get interface index of eth0 */
ioctl(this->socket, SIOCGIFINDEX, &s_ifr); ioctl(this->socket, SIOCGIFINDEX, &s_ifr);

View File

@ -107,7 +107,7 @@ Note that the character pointer becomes overwritten with the real device name
*/ */
ifr.ifr_flags = IFF_TUN; ifr.ifr_flags = IFF_TUN;
if( *dev ) if( *dev )
strncpy(ifr.ifr_name, dev, IFNAMSIZ); strscpy_pad(ifr.ifr_name, dev, IFNAMSIZ);
if( (err = ioctl(fd, TUNSETIFF, (void *) &ifr)) < 0 ){ if( (err = ioctl(fd, TUNSETIFF, (void *) &ifr)) < 0 ){
close(fd); close(fd);