Commit fd29edc7 authored by Guenter Roeck's avatar Guenter Roeck Committed by Greg Kroah-Hartman

staging: speakup: Replace strncpy with memcpy

gcc 8.1.0 generates the following warnings.

drivers/staging/speakup/kobjects.c: In function 'punc_store':
drivers/staging/speakup/kobjects.c:522:2: warning:
	'strncpy' output truncated before terminating nul
	copying as many bytes from a string as its length
drivers/staging/speakup/kobjects.c:504:6: note: length computed here

drivers/staging/speakup/kobjects.c: In function 'synth_store':
drivers/staging/speakup/kobjects.c:391:2: warning:
	'strncpy' output truncated before terminating nul
	copying as many bytes from a string as its length
drivers/staging/speakup/kobjects.c:388:8: 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: default avatarGuenter Roeck <linux@roeck-us.net>
Reviewed-by: default avatarSamuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9a69f508
...@@ -388,7 +388,7 @@ static ssize_t synth_store(struct kobject *kobj, struct kobj_attribute *attr, ...@@ -388,7 +388,7 @@ static ssize_t synth_store(struct kobject *kobj, struct kobj_attribute *attr,
len = strlen(buf); len = strlen(buf);
if (len < 2 || len > 9) if (len < 2 || len > 9)
return -EINVAL; return -EINVAL;
strncpy(new_synth_name, buf, len); memcpy(new_synth_name, buf, len);
if (new_synth_name[len - 1] == '\n') if (new_synth_name[len - 1] == '\n')
len--; len--;
new_synth_name[len] = '\0'; new_synth_name[len] = '\0';
...@@ -519,7 +519,7 @@ static ssize_t punc_store(struct kobject *kobj, struct kobj_attribute *attr, ...@@ -519,7 +519,7 @@ static ssize_t punc_store(struct kobject *kobj, struct kobj_attribute *attr,
return -EINVAL; return -EINVAL;
} }
strncpy(punc_buf, buf, x); memcpy(punc_buf, buf, x);
while (x && punc_buf[x - 1] == '\n') while (x && punc_buf[x - 1] == '\n')
x--; x--;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment