i40e: Fix off by one in i40e_dbg_command_write

We assume that the resulting buffer is zero terminated when we then
re-use it. The sscanf is limited to 512 bytes but needs to be 511
to allow for a terminator.

One of a set of problems noted by Jackie Chang

Signed-off-by: Alan Cox <alan@linux.intel.com>
Acked-by: Shannon Nelson <Shannon.nelson@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
Alan Cox 2013-12-12 02:44:24 +00:00 committed by Jeff Kirsher
parent 582a74e5d3
commit 5561b6a1b3
1 changed files with 1 additions and 1 deletions

View File

@ -1547,7 +1547,7 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
if (strncmp(cmd_buf, "add", 3) == 0) if (strncmp(cmd_buf, "add", 3) == 0)
add = true; add = true;
cnt = sscanf(&cmd_buf[13], cnt = sscanf(&cmd_buf[13],
"%hx %2hhx %2hhx %hx %2hhx %2hhx %hx %x %hd %512s", "%hx %2hhx %2hhx %hx %2hhx %2hhx %hx %x %hd %511s",
&fd_data.q_index, &fd_data.q_index,
&fd_data.flex_off, &fd_data.pctype, &fd_data.flex_off, &fd_data.pctype,
&fd_data.dest_vsi, &fd_data.dest_ctl, &fd_data.dest_vsi, &fd_data.dest_ctl,