Please, anyone for a review and a test?

23/11/2018 01:29, Ferruh Yigit:
> The pci_resource_by_index called strlen() on uninitialized
> memory which would lead to the wrong size of memory allocated
> for the path portion of the resource map. This would either cause
> excessively large allocation, or worse memory corruption.
> 
> Coverity Issue: 300868
> Fixes: ea9d56226e72 ("pci: introduce function to map uio resource by index")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Stephen Hemminger <step...@networkplumber.org>
> Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com>
> ---
>  drivers/bus/pci/linux/pci_uio.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/bus/pci/linux/pci_uio.c b/drivers/bus/pci/linux/pci_uio.c
> index a7c14421a..09ecbb7aa 100644
> --- a/drivers/bus/pci/linux/pci_uio.c
> +++ b/drivers/bus/pci/linux/pci_uio.c
> @@ -296,7 +296,7 @@ pci_uio_map_resource_by_index(struct rte_pci_device *dev, 
> int res_idx,
>       maps = uio_res->maps;
>  
>       /* allocate memory to keep path */
> -     maps[map_idx].path = rte_malloc(NULL, strlen(devname) + 1, 0);
> +     maps[map_idx].path = rte_malloc(NULL, sizeof(devname), 0);
>       if (maps[map_idx].path == NULL) {
>               RTE_LOG(ERR, EAL, "Cannot allocate memory for path: %s\n",
>                               strerror(errno));
> 





Reply via email to