diff options
author | Peng Fan <peng.fan@nxp.com> | 2017-05-11 10:21:48 +0800 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2020-04-23 02:03:53 -0700 |
commit | 71b91edcaa8388360f7ef702cf064c8fa1c47773 (patch) | |
tree | 0d931eee4816f28e9f1dd6c5c915ba2cd11f525f /net | |
parent | 2e8bd7bca7b77e65a5bdaa88aef75482482f4574 (diff) |
MLK-14862 net: eth-uclass: add return value check
Add return value check
Coverity 392391
Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 3f8052264b97b0bf87452876307ca115b7a518a3)
(cherry picked from commit edd2be5f4b978242bba403f97a9b7e4febbf9bab)
(cherry picked from commit d537b7077a34795941e7cb2bf00161f1cac00a6b)
Diffstat (limited to 'net')
-rw-r--r-- | net/eth-uclass.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/net/eth-uclass.c b/net/eth-uclass.c index ed81cbd5374..cbc78eb3ca2 100644 --- a/net/eth-uclass.c +++ b/net/eth-uclass.c @@ -3,6 +3,8 @@ * (C) Copyright 2001-2015 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. * Joe Hershberger, National Instruments + * Copyright 2017 NXP + * */ #include <common.h> @@ -40,8 +42,12 @@ static int eth_errno; static struct eth_uclass_priv *eth_get_uclass_priv(void) { struct uclass *uc; + int ret; + + ret = uclass_get(UCLASS_ETH, &uc); + if (ret) + return NULL; - uclass_get(UCLASS_ETH, &uc); assert(uc); return uc->priv; } @@ -102,6 +108,7 @@ struct udevice *eth_get_dev_by_name(const char *devname) struct udevice *it; struct uclass *uc; int len = strlen("eth"); + int ret; /* Must be longer than 3 to be an alias */ if (!strncmp(devname, "eth", len) && strlen(devname) > len) { @@ -109,7 +116,10 @@ struct udevice *eth_get_dev_by_name(const char *devname) seq = simple_strtoul(startp, &endp, 10); } - uclass_get(UCLASS_ETH, &uc); + ret = uclass_get(UCLASS_ETH, &uc); + if (ret) + return NULL; + uclass_foreach_dev(it, uc) { /* * We need the seq to be valid, so try to probe it. |