Staging: unisys: virthba: Fix variable length array
A character array was declared on the stack with variable length. This has been corrected to use a fixed length. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Ken Cox <jkc@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a16a027651
commit
bed3b10d20
1 changed files with 4 additions and 1 deletions
|
@ -1439,12 +1439,15 @@ static ssize_t
|
||||||
enable_ints_write(struct file *file, const char __user *buffer,
|
enable_ints_write(struct file *file, const char __user *buffer,
|
||||||
size_t count, loff_t *ppos)
|
size_t count, loff_t *ppos)
|
||||||
{
|
{
|
||||||
char buf[count + 1];
|
char buf[4];
|
||||||
int i, new_value;
|
int i, new_value;
|
||||||
struct virthba_info *virthbainfo;
|
struct virthba_info *virthbainfo;
|
||||||
U64 *Features_addr;
|
U64 *Features_addr;
|
||||||
U64 mask;
|
U64 mask;
|
||||||
|
|
||||||
|
if (count >= ARRAY_SIZE(buf))
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
buf[count] = '\0';
|
buf[count] = '\0';
|
||||||
if (copy_from_user(buf, buffer, count)) {
|
if (copy_from_user(buf, buffer, count)) {
|
||||||
LOGERR("copy_from_user failed. buf<<%.*s>> count<<%lu>>\n",
|
LOGERR("copy_from_user failed. buf<<%.*s>> count<<%lu>>\n",
|
||||||
|
|
Loading…
Add table
Reference in a new issue