Skip to content

Commit

Permalink
enic: change sprintf() to snprintf()
Browse files Browse the repository at this point in the history
These are copying data into 16 char arrays.  They all specify that the
first string can't be more than 11 characters but once you add on the
"-rx-" and the NUL character there isn't space for the %d.

The first string is probably never going to be 11 characters, but if it
is then let's truncate the string instead of corrupting memory.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Dan Carpenter authored and David S. Miller committed Jan 18, 2013
1 parent 6b80778 commit 4505f40
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions drivers/net/ethernet/cisco/enic/enic_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1490,28 +1490,32 @@ static int enic_request_intr(struct enic *enic)

for (i = 0; i < enic->rq_count; i++) {
intr = enic_msix_rq_intr(enic, i);
sprintf(enic->msix[intr].devname,
snprintf(enic->msix[intr].devname,
sizeof(enic->msix[intr].devname),
"%.11s-rx-%d", netdev->name, i);
enic->msix[intr].isr = enic_isr_msix_rq;
enic->msix[intr].devid = &enic->napi[i];
}

for (i = 0; i < enic->wq_count; i++) {
intr = enic_msix_wq_intr(enic, i);
sprintf(enic->msix[intr].devname,
snprintf(enic->msix[intr].devname,
sizeof(enic->msix[intr].devname),
"%.11s-tx-%d", netdev->name, i);
enic->msix[intr].isr = enic_isr_msix_wq;
enic->msix[intr].devid = enic;
}

intr = enic_msix_err_intr(enic);
sprintf(enic->msix[intr].devname,
snprintf(enic->msix[intr].devname,
sizeof(enic->msix[intr].devname),
"%.11s-err", netdev->name);
enic->msix[intr].isr = enic_isr_msix_err;
enic->msix[intr].devid = enic;

intr = enic_msix_notify_intr(enic);
sprintf(enic->msix[intr].devname,
snprintf(enic->msix[intr].devname,
sizeof(enic->msix[intr].devname),
"%.11s-notify", netdev->name);
enic->msix[intr].isr = enic_isr_msix_notify;
enic->msix[intr].devid = enic;
Expand Down

0 comments on commit 4505f40

Please sign in to comment.