misc: mic: Use scnprintf() for avoiding potential buffer overflow
Since snprintf() returns the would-be-output size instead of the actual output size, the succeeding calls may go beyond the given buffer limit. Fix it by replacing with scnprintf(). Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://lore.kernel.org/r/20200311074916.8783-1-tiwai@suse.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
f276d3ea88
commit
d108b132ea
@ -350,10 +350,10 @@ mic_x100_load_command_line(struct mic_device *mdev, const struct firmware *fw)
|
|||||||
if (!buf)
|
if (!buf)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
len += snprintf(buf, CMDLINE_SIZE - len,
|
len += scnprintf(buf, CMDLINE_SIZE - len,
|
||||||
" mem=%dM", boot_mem);
|
" mem=%dM", boot_mem);
|
||||||
if (mdev->cosm_dev->cmdline)
|
if (mdev->cosm_dev->cmdline)
|
||||||
snprintf(buf + len, CMDLINE_SIZE - len, " %s",
|
scnprintf(buf + len, CMDLINE_SIZE - len, " %s",
|
||||||
mdev->cosm_dev->cmdline);
|
mdev->cosm_dev->cmdline);
|
||||||
memcpy_toio(cmd_line_va, buf, strlen(buf) + 1);
|
memcpy_toio(cmd_line_va, buf, strlen(buf) + 1);
|
||||||
kfree(buf);
|
kfree(buf);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user