[dpdk-dev,v3] net/tap: fix coverity warning on strncpy
Checks
Commit Message
Calling strncpy with a maximum size argument of 16 bytes on destination
array "ifr.ifr_ifrn.ifrn_name" of size 16 bytes might leave the
destination string unterminated.
Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
v3 - convert strncpy to use snprintf instead.
v2 - fix the checkpatch warning no spaces around '-'
v1 - fix coverity warning on strncpy using invalid length.
drivers/net/tap/rte_eth_tap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
> On Feb 17, 2017, at 9:37 AM, Keith Wiles <keith.wiles@intel.com> wrote:
>
> Calling strncpy with a maximum size argument of 16 bytes on destination
> array "ifr.ifr_ifrn.ifrn_name" of size 16 bytes might leave the
> destination string unterminated.
>
> Signed-off-by: Keith Wiles <keith.wiles@intel.com>
> ---
> v3 - convert strncpy to use snprintf instead.
> v2 - fix the checkpatch warning no spaces around '-'
> v1 - fix coverity warning on strncpy using invalid length.
>
> drivers/net/tap/rte_eth_tap.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
> index efc4426..cf1cea3 100644
> --- a/drivers/net/tap/rte_eth_tap.c
> +++ b/drivers/net/tap/rte_eth_tap.c
> @@ -297,7 +297,7 @@ tap_link_set_flags(struct pmd_internals *pmd, short flags, int add)
> return -1;
> }
> memset(&ifr, 0, sizeof(ifr));
> - strncpy(ifr.ifr_name, pmd->name, IFNAMSIZ);
> + strncpy(ifr.ifr_name, pmd->name, IFNAMSIZ - 1);
> err = ioctl(s, SIOCGIFFLAGS, &ifr);
> if (err < 0) {
> RTE_LOG(WARNING, PMD, "Unable to get %s device flags: %s\n”,
NAK :-( forgot to finish the rebase
> --
> 2.8.0.GIT
>
Regards,
Keith
@@ -297,7 +297,7 @@ tap_link_set_flags(struct pmd_internals *pmd, short flags, int add)
return -1;
}
memset(&ifr, 0, sizeof(ifr));
- strncpy(ifr.ifr_name, pmd->name, IFNAMSIZ);
+ strncpy(ifr.ifr_name, pmd->name, IFNAMSIZ - 1);
err = ioctl(s, SIOCGIFFLAGS, &ifr);
if (err < 0) {
RTE_LOG(WARNING, PMD, "Unable to get %s device flags: %s\n",