• Dan Carpenter's avatar
    isdn: strcpy() => strlcpy() · b530fb69
    Dan Carpenter authored
    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: default avatarDan Carpenter <error27@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b530fb69
interrupt.c 6.41 KB