On Thu, Jul 16, 2015 at 04:47:23PM -0700, Stephen Hemminger wrote:
> Found by coccinelle script.  If rte_zmalloc() failed in 
> rte_eth_dev_callback_register
> then NULL pointer would be dereferenced.
> 
> Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
> ---
>  lib/librte_ether/rte_ethdev.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
> index ddf3658..aa363be 100644
> --- a/lib/librte_ether/rte_ethdev.c
> +++ b/lib/librte_ether/rte_ethdev.c
> @@ -2929,9 +2929,10 @@ rte_eth_dev_callback_register(uint8_t port_id,
>       }
>  
>       /* create a new callback. */
> -     if (user_cb == NULL &&
> -         (user_cb = rte_zmalloc("INTR_USER_CALLBACK",
> -                                sizeof(struct rte_eth_dev_callback), 0))) {
> +     if (!user_cb)

Minor style issue. Since user_cb is a pointer, not a boolean, the condition
should use "== NULL" rather than "!".

/Bruce

Reply via email to