summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerhard Sittig <gsi@denx.de>2013-06-05 14:51:05 +0200
committerWolfgang Denk <wd@denx.de>2013-06-24 22:24:29 +0200
commit186f9c130faa3e228b0db7f45de359748f78b1c3 (patch)
treee61476e4d6495ff9f025b70a3035b72971f98c32
parente1208c2fe5e07f9a248cfbf9bbb212aa34ad2806 (diff)
downloadu-boot-imx-186f9c130faa3e228b0db7f45de359748f78b1c3.zip
u-boot-imx-186f9c130faa3e228b0db7f45de359748f78b1c3.tar.gz
u-boot-imx-186f9c130faa3e228b0db7f45de359748f78b1c3.tar.bz2
ac14xx: fix a potential NULL deref in diagnostics
getenv() immediately after setenv() may perfectly legally return NULL, so make sure to not deference an invalid pointer when creating diagnostic output Signed-off-by: Gerhard Sittig <gsi@denx.de>
-rw-r--r--board/ifm/ac14xx/ac14xx.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/board/ifm/ac14xx/ac14xx.c b/board/ifm/ac14xx/ac14xx.c
index 7442591..f200b45 100644
--- a/board/ifm/ac14xx/ac14xx.c
+++ b/board/ifm/ac14xx/ac14xx.c
@@ -209,6 +209,7 @@ static int read_eeprom(void)
int mac_read_from_eeprom(void)
{
const u8 *mac;
+ const char *mac_txt;
if (read_eeprom()) {
printf("I2C EEPROM read failed.\n");
@@ -230,8 +231,11 @@ int mac_read_from_eeprom(void)
if (mac && is_valid_ether_addr(mac)) {
eth_setenv_enetaddr("ethaddr", mac);
- printf("DIAG: %s() MAC value [%s]\n",
- __func__, getenv("ethaddr"));
+ mac_txt = getenv("ethaddr");
+ if (mac_txt)
+ printf("DIAG: MAC value [%s]\n", mac_txt);
+ else
+ printf("DIAG: failed to setup MAC env\n");
}
return 0;