[dpdk-dev] [PATCH] af_packet: fix memory allocation check

Neil Horman nhorman at tuxdriver.com
Thu Dec 18 22:15:12 CET 2014


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>



More information about the dev mailing list