mbuf: fix NULL freeing when debug enabled
authorOlivier Matz <olivier.matz@6wind.com>
Mon, 29 Jan 2018 09:39:23 +0000 (10:39 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 29 Jan 2018 17:32:19 +0000 (18:32 +0100)
Do not panic when calling rte_pktmbuf_free(NULL) with mbuf debug
enabled, it is a valid operation.

Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org
Reported-by: Keith Wiles <keith.wiles@intel.com>
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
lib/librte_mbuf/rte_mbuf.h

index 2fd4f5e..ba3bfa8 100644 (file)
@@ -1432,13 +1432,14 @@ rte_pktmbuf_free_seg(struct rte_mbuf *m)
  * segment is added back into its original mempool.
  *
  * @param m
- *   The packet mbuf to be freed.
+ *   The packet mbuf to be freed. If NULL, the function does nothing.
  */
 static inline void rte_pktmbuf_free(struct rte_mbuf *m)
 {
        struct rte_mbuf *m_next;
 
-       __rte_mbuf_sanity_check(m, 1);
+       if (m != NULL)
+               __rte_mbuf_sanity_check(m, 1);
 
        while (m != NULL) {
                m_next = m->next;