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>
This commit is contained in:
parent
e1208c2fe5
commit
186f9c130f
|
@ -209,6 +209,7 @@ static int read_eeprom(void)
|
||||||
int mac_read_from_eeprom(void)
|
int mac_read_from_eeprom(void)
|
||||||
{
|
{
|
||||||
const u8 *mac;
|
const u8 *mac;
|
||||||
|
const char *mac_txt;
|
||||||
|
|
||||||
if (read_eeprom()) {
|
if (read_eeprom()) {
|
||||||
printf("I2C EEPROM read failed.\n");
|
printf("I2C EEPROM read failed.\n");
|
||||||
|
@ -230,8 +231,11 @@ int mac_read_from_eeprom(void)
|
||||||
|
|
||||||
if (mac && is_valid_ether_addr(mac)) {
|
if (mac && is_valid_ether_addr(mac)) {
|
||||||
eth_setenv_enetaddr("ethaddr", mac);
|
eth_setenv_enetaddr("ethaddr", mac);
|
||||||
printf("DIAG: %s() MAC value [%s]\n",
|
mac_txt = getenv("ethaddr");
|
||||||
__func__, getenv("ethaddr"));
|
if (mac_txt)
|
||||||
|
printf("DIAG: MAC value [%s]\n", mac_txt);
|
||||||
|
else
|
||||||
|
printf("DIAG: failed to setup MAC env\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue