From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Coquelin Subject: Re: [PATCH] bus/pci: fix allocation of PCI device path Date: Fri, 23 Nov 2018 12:01:31 +0100 Message-ID: References: <20181106214901.1392-2-stephen@networkplumber.org> <20181123002945.36697-1-ferruh.yigit@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Thomas Monjalon , stable@dpdk.org, Stephen Hemminger To: Ferruh Yigit , dev@dpdk.org Return-path: In-Reply-To: <20181123002945.36697-1-ferruh.yigit@intel.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 11/23/18 1:29 AM, Ferruh Yigit wrote: > 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: stable@dpdk.org > > Signed-off-by: Stephen Hemminger > Signed-off-by: Ferruh Yigit > --- > 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)); > Reviewed-by: Maxime Coquelin Thanks, Maxime