RE: [patch] [SCSI] bnx2i: use strlcpy() instead of memcpy() for strings

David Laight
2012-07-02T10:21:13Z

> Subject: [patch] [SCSI] bnx2i: use strlcpy() instead of memcpy() for
strings
>
> DRV_MODULE_VERSION here is "2.7.2.2" which is only 8 chars but we copy
> 12 bytes from the stack so it's a small information leak.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
> This was just added to linux-next yesterday, but I'm not sure
> which tree it came from.
>
> diff --git a/drivers/scsi/bnx2i/bnx2i_init.c
> b/drivers/scsi/bnx2i/bnx2i_init.c
> index 7729a52..b17637a 100644
> --- a/drivers/scsi/bnx2i/bnx2i_init.c
> +++ b/drivers/scsi/bnx2i/bnx2i_init.c
> @@ -400,7 +400,7 @@ int bnx2i_get_stats(void *handle)
> if (!stats)
> return -ENOMEM;
>
> - memcpy(stats->version, DRV_MODULE_VERSION,
sizeof(stats->version));
> + strlcpy(stats->version, DRV_MODULE_VERSION,
sizeof(stats->version));
> memcpy(stats->mac_add1 + 2, hba->cnic->mac_addr, ETH_ALEN);

Doesn't that leak the original contents of the last bytes of
stats->version instead?

David