[dpdk-dev] ethdev: fix wrong sizeof argument in malloc function

Message ID 1494307334-19960-1-git-send-email-kubax.kozak@intel.com (mailing list archive)
State Accepted, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Kuba Kozak May 9, 2017, 5:22 a.m. UTC
  From: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>

Coverity reported that an argument for sizeof was used improperly. 
We should allocate memory for value size that pointer points to,
instead of pointer size itself. 

Coverity issue: 144522
Fixes: 79c913a42f0e ("ethdev: retrieve xstats by ID")

Signed-off-by: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>
---
 lib/librte_ether/rte_ethdev.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Van Haaren, Harry May 9, 2017, 8:46 a.m. UTC | #1
> From: Kozak, KubaX
> Sent: Tuesday, May 9, 2017 6:22 AM
> To: dev@dpdk.org
> Cc: Van Haaren, Harry <harry.van.haaren@intel.com>; Jain, Deepak K <deepak.k.jain@intel.com>;
> Jastrzebski, MichalX K <michalx.k.jastrzebski@intel.com>; Kozak, KubaX <kubax.kozak@intel.com>
> Subject: [PATCH] ethdev: fix wrong sizeof argument in malloc function
> 
> From: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>
> 
> Coverity reported that an argument for sizeof was used improperly.
> We should allocate memory for value size that pointer points to,
> instead of pointer size itself.
> 
> Coverity issue: 144522
> Fixes: 79c913a42f0e ("ethdev: retrieve xstats by ID")
> 
> Signed-off-by: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>

Please consider merging these in 17.05, this is an important fix for 32 bit systems.

Acked-by: Harry van Haaren <harry.van.haaren@intel.com>


This patch fixes a bug of the same as detailed here:
http://dpdk.org/ml/archives/dev/2017-May/065487.html
  
Thomas Monjalon May 10, 2017, 2:52 p.m. UTC | #2
09/05/2017 10:46, Van Haaren, Harry:
> > From: Kozak, KubaX
> > Sent: Tuesday, May 9, 2017 6:22 AM
> > To: dev@dpdk.org
> > Cc: Van Haaren, Harry <harry.van.haaren@intel.com>; Jain, Deepak K <deepak.k.jain@intel.com>;
> > Jastrzebski, MichalX K <michalx.k.jastrzebski@intel.com>; Kozak, KubaX <kubax.kozak@intel.com>
> > Subject: [PATCH] ethdev: fix wrong sizeof argument in malloc function
> > 
> > From: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>
> > 
> > Coverity reported that an argument for sizeof was used improperly.
> > We should allocate memory for value size that pointer points to,
> > instead of pointer size itself.
> > 
> > Coverity issue: 144522
> > Fixes: 79c913a42f0e ("ethdev: retrieve xstats by ID")
> > 
> > Signed-off-by: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>
> 
> Please consider merging these in 17.05, this is an important fix for 32 bit systems.
> 
> Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
> 
> 
> This patch fixes a bug of the same as detailed here:
> http://dpdk.org/ml/archives/dev/2017-May/065487.html

Applied with title:
	ethdev: fix xstats by ID on 32-bit
Thanks
  

Patch

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index 8cf8b65..83898a8 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -1714,7 +1714,7 @@  struct rte_eth_dev *
 
 		size = rte_eth_xstats_get_by_id(port_id, NULL, NULL, 0);
 
-		values_copy = malloc(sizeof(values_copy) * size);
+		values_copy = malloc(sizeof(*values_copy) * size);
 		if (!values_copy) {
 			RTE_PMD_DEBUG_TRACE(
 			    "ERROR: can't allocate memory for values_copy\n");