On Thu, Dec 18, 2014 at 09:45:05AM +0000, Daniel Mrzyglod wrote:
> In rte_eth_af_packet.c we are we are missing NULL pointer
> checks after calls to alocate memory for queues. Add checking NULL
> pointer and error handling.
>
> Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod at intel.com>
> ---
> lib/librte_pmd_af_packet/rte_eth_af_packet.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/lib/librte_pmd_af_packet/rte_eth_af_packet.c
> b/lib/librte_pmd_af_packet/rte_eth_af_packet.c
> index ad7242c..236749b 100644
> --- a/lib/librte_pmd_af_packet/rte_eth_af_packet.c
> +++ b/lib/librte_pmd_af_packet/rte_eth_af_packet.c
> @@ -603,6 +603,8 @@ rte_pmd_init_internals(const char *name,
> rdsize = req->tp_frame_nr * sizeof(*(rx_queue->rd));
>
> rx_queue->rd = rte_zmalloc_socket(name, rdsize, 0, numa_node);
> + if (rx_queue->rd == NULL)
> + goto error;
> for (i = 0; i < req->tp_frame_nr; ++i) {
> rx_queue->rd[i].iov_base = rx_queue->map + (i *
> framesize);
> rx_queue->rd[i].iov_len = req->tp_frame_size;
> @@ -615,6 +617,8 @@ rte_pmd_init_internals(const char *name,
> tx_queue->map = rx_queue->map + req->tp_block_size *
> req->tp_block_nr;
>
> tx_queue->rd = rte_zmalloc_socket(name, rdsize, 0, numa_node);
> + if (tx_queue->rd == NULL)
> + goto error;
> for (i = 0; i < req->tp_frame_nr; ++i) {
> tx_queue->rd[i].iov_base = tx_queue->map + (i *
> framesize);
> tx_queue->rd[i].iov_len = req->tp_frame_size;
> --
> 2.1.0
>
>
Acked-by: Neil Horman <nhorman at tuxdriver.com>