diff mbox

[U-Boot,v3] net: davinci_emac: fix NULL check after pointer dereference

Message ID 1454773259-5957-1-git-send-email-agust@denx.de
State Accepted
Commit 2300184f702656b72394e458bf15f7aaba8af892
Delegated to: Anatolij Gustschin
Headers show

Commit Message

Anatolij Gustschin Feb. 6, 2016, 3:40 p.m. UTC
From: Vishwas Srivastava <vishu.kernel@gmail.com>

NULL check is made after the pointer dereference. This patch
fixes this issue.

Signed-off-by: Vishwas Srivastava <vishu.kernel@gmail.com>
CC: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
---
Changes in v3:
	- slightly edit subject and commit message
        - format patch properly

 drivers/net/davinci_emac.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Anatolij Gustschin Feb. 6, 2016, 3:46 p.m. UTC | #1
On Sat,  6 Feb 2016 16:40:59 +0100
Anatolij Gustschin agust@denx.de wrote:

> From: Vishwas Srivastava <vishu.kernel@gmail.com>
> 
> NULL check is made after the pointer dereference. This patch
> fixes this issue.
> 
> Signed-off-by: Vishwas Srivastava <vishu.kernel@gmail.com>
> CC: Joe Hershberger <joe.hershberger@ni.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
> Signed-off-by: Anatolij Gustschin <agust@denx.de>
> ---
> Changes in v3:
> 	- slightly edit subject and commit message
>         - format patch properly
> 
>  drivers/net/davinci_emac.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)

Applied to u-boot-staging, thanks!

--
Anatolij
diff mbox

Patch

diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c
index 6f2dc8d..b030498 100644
--- a/drivers/net/davinci_emac.c
+++ b/drivers/net/davinci_emac.c
@@ -692,8 +692,10 @@  static int davinci_eth_rcv_packet (struct eth_device *dev)
 	davinci_invalidate_rx_descs();
 
 	rx_curr_desc = emac_rx_active_head;
+	if (!rx_curr_desc)
+		return 0;
 	status = rx_curr_desc->pkt_flag_len;
-	if ((rx_curr_desc) && ((status & EMAC_CPPI_OWNERSHIP_BIT) == 0)) {
+	if ((status & EMAC_CPPI_OWNERSHIP_BIT) == 0) {
 		if (status & EMAC_CPPI_RX_ERROR_FRAME) {
 			/* Error in packet - discard it and requeue desc */
 			printf ("WARN: emac_rcv_pkt: Error in packet\n");