
My colleague founded this problem months ago. I'd like to see this bug fixed in 1.3.0. Please apply.
--- net/eth.c: Fix env_enetaddr signed overflow
Assigning the output of simple_strtoul(CB:A9:87:65:43:21) to `char', we are warned as below:
U-Boot 1.2.0 (Aug 30 2007 - 08:27:37)
DRAM: 256 MB Flash: 32 MB In: serial Out: serial Err: serial Net: NEC-Candy Warning: NEC-Candy MAC addresses don't match: Address in SROM is 00:00:4C:80:92:A2 Address in environment is FFFFFFCB:FFFFFFA9:FFFFFF87:65:43:21
This patch changes env_enetaddr type from `char' to `unsigned char'.
Cc: Masaki Ishikawa ishikawa-masaki@cnt.mxe.nes.nec.co.jp Signed-off-by: Shinya Kuribayashi shinya.kuribayashi@necel.com ---
net/eth.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/net/eth.c b/net/eth.c index 1b56a35..64ef312 100644 --- a/net/eth.c +++ b/net/eth.c @@ -138,7 +138,8 @@ int eth_register(struct eth_device* dev)
int eth_initialize(bd_t *bis) { - char enetvar[32], env_enetaddr[6]; + char enetvar[32]; + unsigned char env_enetaddr[6]; int i, eth_number = 0; char *tmp, *end;