]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
TTY: isdn: Replace strncpy with memcpy
authorGuenter Roeck <linux@roeck-us.net>
Sun, 1 Jul 2018 20:57:38 +0000 (13:57 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 2 Jul 2018 13:41:58 +0000 (22:41 +0900)
gcc 8.1.0 complains:

drivers/isdn/i4l/isdn_tty.c: In function 'isdn_tty_suspend.isra.1':
drivers/isdn/i4l/isdn_tty.c:790:3: warning:
'strncpy' output truncated before terminating nul copying
as many bytes from a string as its length
drivers/isdn/i4l/isdn_tty.c:778:6: note: length computed here

drivers/isdn/i4l/isdn_tty.c: In function 'isdn_tty_resume':
drivers/isdn/i4l/isdn_tty.c:880:3: warning:
'strncpy' output truncated before terminating nul copying
as many bytes from a string as its length
drivers/isdn/i4l/isdn_tty.c:817:6: note: length computed here

Using strncpy() is indeed less than perfect since the length of data to
be copied has already been determined with strlen(). Replace strncpy()
with memcpy() to address the warning and optimize the code a little.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/isdn/i4l/isdn_tty.c

index 960f26348bb58e00f81166444a53d7544f8e7f68..b730037a0e2d383b2f6037561ccd396c558077a8 100644 (file)
@@ -787,7 +787,7 @@ isdn_tty_suspend(char *id, modem_info *info, atemu *m)
                cmd.parm.cmsg.para[3] = 4; /* 16 bit 0x0004 Suspend */
                cmd.parm.cmsg.para[4] = 0;
                cmd.parm.cmsg.para[5] = l;
-               strncpy(&cmd.parm.cmsg.para[6], id, l);
+               memcpy(&cmd.parm.cmsg.para[6], id, l);
                cmd.command = CAPI_PUT_MESSAGE;
                cmd.driver = info->isdn_driver;
                cmd.arg = info->isdn_channel;
@@ -877,7 +877,7 @@ isdn_tty_resume(char *id, modem_info *info, atemu *m)
                cmd.parm.cmsg.para[3] = 5; /* 16 bit 0x0005 Resume */
                cmd.parm.cmsg.para[4] = 0;
                cmd.parm.cmsg.para[5] = l;
-               strncpy(&cmd.parm.cmsg.para[6], id, l);
+               memcpy(&cmd.parm.cmsg.para[6], id, l);
                cmd.command = CAPI_PUT_MESSAGE;
                info->dialing = 1;
 //             strcpy(dev->num[i], n);