net/eth.c: Fix env_enetaddr signed overflow
PATCH 1/1 net/eth.c: Fix env_enetaddr signed overflow
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'.
---
net/eth.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
net/eth.c +2 -1
@@ -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;
Signature · 2 lines
Shinya Kuribayashi NEC Electronics
PATCH 1/1 net/eth.c: Fix env_enetaddr signed overflow
Quoted 37 lines · Shinya Kuribayashi
My colleague founded this problem months ago. I'd like to see this bug fixed in 1.3.0. Please apply.
---
net/eth.c: Fixenv_enetaddrsigned overflowAssigning 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 MBIn: serial Out: serial Err: serial Net: NEC-CandyWarning: 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:21This patch changes
env_enetaddrtype fromchar' tounsigned char'.Cc Masaki Ishikawa <[email protected]>Signed-off-by Shinya Kuribayashi <[email protected]>---
net/eth.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)net/eth.c +0
-0
net/eth.c int eth_register(struct eth_device* dev) · line 145
Quoted 9 lines
net/eth.c +2
-1@@ -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;
This looks harmless enough, but is in a place that is touched by every board on every architecture, and the bug doesn't really seem to hurt anything other than printing garbage. IMHO it should wait until the next release. I will apply it to a 'for_1.3.1' branch of the net tree.
regards,
Ben
PATCH 1/1 net/eth.c: Fix env_enetaddr signed overflow
Quoted 37 lines · Ben Warren
Quoted 36 lines · Shinya Kuribayashi
My colleague founded this problem months ago. I'd like to see this bug fixed in 1.3.0. Please apply.
---
net/eth.c: Fixenv_enetaddrsigned overflowAssigning 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 MBIn: serial Out: serial Err: serial Net: NEC-CandyWarning: 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:21This patch changes
env_enetaddrtype fromchar' tounsigned char'.Cc Masaki Ishikawa <[email protected]>Signed-off-by Shinya Kuribayashi <[email protected]>---
net/eth.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)net/eth.c +0
-0@@ -138,7 +138,8 @@ int eth_register(struct eth_device* dev)
Quoted 14 lines
net/eth.c int eth_register(struct eth_device* dev) · line 145
Quoted 10 lines
net/eth.c +2
-1int 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;This looks harmless enough, but is in a place that is touched by every board on every architecture, and the bug doesn't really seem to hurt anything other than printing garbage. IMHO it should wait until the next release. I will apply it to a 'for_1.3.1' branch of the net tree.
Ok, I'm afraid I have to wait. Thanks for your comment,
Shinya