staging: r8188eu: use strscpy() to instead of strncpy()
authorXu Panda <xu.panda@zte.com.cn>
Mon, 26 Dec 2022 11:05:47 +0000 (19:05 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Jan 2023 18:31:08 +0000 (19:31 +0100)
The implementation of strscpy() is more robust and safer.
That's now the recommended way to copy NUL-terminated strings.

Signed-off-by: Xu Panda <xu.panda@zte.com.cn>
Signed-off-by: Yang Yang <yang.yang29@zte.com>
Reviewed-by: Dan Carpenter <error27@gmail.com>
Link: https://lore.kernel.org/r/202212261905476729002@zte.com.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/os_dep/ioctl_linux.c

index 8e9b7b0..e0a8199 100644 (file)
@@ -3061,8 +3061,7 @@ static int rtw_rereg_nd_name(struct net_device *dev,
                char *reg_ifname;
                reg_ifname = padapter->registrypriv.if2name;
 
-               strncpy(rereg_priv->old_ifname, reg_ifname, IFNAMSIZ);
-               rereg_priv->old_ifname[IFNAMSIZ - 1] = 0;
+               strscpy(rereg_priv->old_ifname, reg_ifname, IFNAMSIZ);
        }
 
        if (wrqu->data.length > IFNAMSIZ)
@@ -3084,8 +3083,7 @@ static int rtw_rereg_nd_name(struct net_device *dev,
                rtw_ips_mode_req(&padapter->pwrctrlpriv, rereg_priv->old_ips_mode);
        }
 
-       strncpy(rereg_priv->old_ifname, new_ifname, IFNAMSIZ);
-       rereg_priv->old_ifname[IFNAMSIZ - 1] = 0;
+       strscpy(rereg_priv->old_ifname, new_ifname, IFNAMSIZ);
 
        if (!memcmp(new_ifname, "disable%d", 9)) {
                /*  free network queue for Android's timming issue */