[U-Boot-Users] [PATCH] net/eth.c: Fix env_enetaddr signed overflow

Shinya Kuribayashi
2007-11-19T11:27:04Z

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;

--
Shinya Kuribayashi
NEC Electronics