diff options
author | Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se> | 2014-07-26 16:43:20 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-07-27 11:43:01 -0700 |
commit | 96955ed6f0fc4a4bff319bf34ddad8d30a705dfe (patch) | |
tree | 102d01eda6524fc4ae607eddfb5afc6e82146e73 | |
parent | 4c86db6aac80246ff801bba3f32517d6c2200137 (diff) |
staging: usbip: stub_main.c: Cleaning up missing null-terminate in conjunction with strncpy
Replacing strncpy with strlcpy to avoid strings that lacks null terminate.
Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/staging/usbip/stub_main.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/staging/usbip/stub_main.c b/drivers/staging/usbip/stub_main.c index 9c5832abbdf1..44ab43fc4fcc 100644 --- a/drivers/staging/usbip/stub_main.c +++ b/drivers/staging/usbip/stub_main.c @@ -94,7 +94,7 @@ static int add_match_busid(char *busid) for (i = 0; i < MAX_BUSID; i++) if (!busid_table[i].name[0]) { - strncpy(busid_table[i].name, busid, BUSID_SIZE); + strlcpy(busid_table[i].name, busid, BUSID_SIZE); if ((busid_table[i].status != STUB_BUSID_ALLOC) && (busid_table[i].status != STUB_BUSID_REMOV)) busid_table[i].status = STUB_BUSID_ADDED; @@ -158,15 +158,11 @@ static ssize_t store_match_busid(struct device_driver *dev, const char *buf, if (count < 5) return -EINVAL; - /* strnlen() does not include \0 */ - len = strnlen(buf + 4, BUSID_SIZE); - /* busid needs to include \0 termination */ - if (!(len < BUSID_SIZE)) + len = strlcpy(busid, buf + 4, BUSID_SIZE); + if (sizeof(busid) <= len) return -EINVAL; - strncpy(busid, buf + 4, BUSID_SIZE); - if (!strncmp(buf, "add ", 4)) { if (add_match_busid(busid) < 0) return -ENOMEM; |