Re: [PATCH] docs: networking: Replace strncpy() with strscpy()

From: Dmitry Torokhov
Date: Thu Jun 03 2021 - 00:41:49 EST


On Wed, Jun 02, 2021 at 01:29:14PM -0700, Kees Cook wrote:
> 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@xxxxxxxxxxxx>
> ---
> Documentation/input/joydev/joystick-api.rst | 2 +-

FWIW:

Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

> Documentation/networking/packet_mmap.rst | 2 +-
> Documentation/networking/tuntap.rst | 2 +-
> 3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/input/joydev/joystick-api.rst b/Documentation/input/joydev/joystick-api.rst
> index af5934c10c1c..5db6dc6fe1c5 100644
> --- a/Documentation/input/joydev/joystick-api.rst
> +++ b/Documentation/input/joydev/joystick-api.rst
> @@ -263,7 +263,7 @@ possible overrun should the name be too long::
>
> char name[128];
> if (ioctl(fd, JSIOCGNAME(sizeof(name)), name) < 0)
> - strncpy(name, "Unknown", sizeof(name));
> + strscpy(name, "Unknown", sizeof(name));
> printf("Name: %s\n", name);
>
>
> diff --git a/Documentation/networking/packet_mmap.rst b/Documentation/networking/packet_mmap.rst
> index 500ef60b1b82..c5da1a5d93de 100644
> --- a/Documentation/networking/packet_mmap.rst
> +++ b/Documentation/networking/packet_mmap.rst
> @@ -153,7 +153,7 @@ As capture, each frame contains two parts::
> 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 */
> ioctl(this->socket, SIOCGIFINDEX, &s_ifr);
> diff --git a/Documentation/networking/tuntap.rst b/Documentation/networking/tuntap.rst
> index a59d1dd6fdcc..4d7087f727be 100644
> --- a/Documentation/networking/tuntap.rst
> +++ b/Documentation/networking/tuntap.rst
> @@ -107,7 +107,7 @@ Note that the character pointer becomes overwritten with the real device name
> */
> ifr.ifr_flags = IFF_TUN;
> if( *dev )
> - strncpy(ifr.ifr_name, dev, IFNAMSIZ);
> + strscpy_pad(ifr.ifr_name, dev, IFNAMSIZ);
>
> if( (err = ioctl(fd, TUNSETIFF, (void *) &ifr)) < 0 ){
> close(fd);
> --
> 2.25.1
>

Thanks.

--
Dmitry