isdn: strcpy() => strlcpy()
authorDan Carpenter <error27@gmail.com>
Fri, 8 Oct 2010 17:21:22 +0000 (10:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Oct 2010 17:21:22 +0000 (10:21 -0700)
commitb530fb69cf54cf22768a3eabc0604d70b5c13fde
tree403eb1143f95ed5ea2f586ed1a0c3d7001a63fcc
parentfb3dbece264a50ab4373f3af0bbbd9175d3ad4d7
isdn: strcpy() => strlcpy()

setup.phone and setup.eazmsn are 32 character buffers.
rcvmsg.msg_data.byte_array is a 48 character buffer.
sc_adapter[card]->channel[rcvmsg.phy_link_no - 1].dn is 50 chars.

The rcvmsg struct comes from the memcpy_fromio() in receivemessage().
I guess that means it's data off the wire.  I'm not very familiar with
this code but I don't see any reason to assume these strings are NULL
terminated.

Also it's weird that "dn" in a 50 character buffer but we only seem to
use 32 characters.  In drivers/isdn/sc/scioc.h, "dn" is only a 49
character buffer.  So potentially there is still an issue there.

The important thing for now is to prevent the memory corruption.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/isdn/sc/interrupt.c