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