• David Herrmann's avatar
    Revert "HID: uhid: use strlcpy() instead of strncpy()" · 4d26d1d1
    David Herrmann authored
    This reverts commit 336fd4f5.
    
    Please note that `strlcpy()` does *NOT* do what you think it does.
    strlcpy() *ALWAYS* reads the full input string, regardless of the
    'length' parameter. That is, if the input is not zero-terminated,
    strlcpy() will *READ* beyond input boundaries. It does this, because it
    always returns the size it *would* copy if the target was big enough,
    not the truncated size it actually copied.
    
    The original code was perfectly fine. The hid device is
    zero-initialized and the strncpy() functions copied up to n-1
    characters. The result is always zero-terminated this way.
    
    This is the third time someone tried to replace strncpy with strlcpy in
    this function, and gets it wrong. I now added a comment that should at
    least make people reconsider.
    Signed-off-by: David Herrmann's avatarDavid Herrmann <dh.herrmann@gmail.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    4d26d1d1
uhid.c 18.1 KB