From: Guodong Xu <[email protected]> => tlv_eeprom dev Unhandled exception: Load access fault EPC: 000000007ffb351a RA: 000000007ff7c302 TVAL: 0000000000000000 EPC: 000000000024b51a RA: 0000000000214302 reloc adjusted
SP: 000000007ef3ec90 GP: 000000007ef48e40 TP: 0000000000000000 T0: 000000007ef3eda0 T1: 0000000000000000 T2: 0000000000000000 S0: 0000000000000002 S1: 000000007f05c0a0 A0: 0000000000000000 A1: 0000000000000000 A2: 0000000000000000 A3: 00000000d4017000 A4: 0000000000000002 A5: 00000000d4017000 A6: 0000000000000001 A7: 0000000000000000 S2: 0000000000000001 S3: 000000007f05c0a0 S4: 0000000000000002 S5: 000000007fffbbec S6: 0000000000000000 S7: 000000007f05c080 S8: 000000007f05c0a0 S9: 0000000000000000 S10: 0000000000000000 S11: 000000007f05afa0 T3: 0000000000000005 T4: 0000000000000009 T5: 0000000000000006 T6: 000000007ef3ed80 Code: 0007 3513 0015 70a2 7402 64e2 6145 8082 (4683 0005) Command "tlv_eeprom dev" should not access argv[2]. argv[2] should be only accessed by command "tlv_eeprom dev [dev]" command. So add a guard to prevent this invalid access. Signed-off-by: Guodong Xu <[email protected]> Signed-off-by: Raymond Mao <[email protected]> --- cmd/tlv_eeprom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/tlv_eeprom.c b/cmd/tlv_eeprom.c index 3127660dd9e..b2b0b5a6fab 100644 --- a/cmd/tlv_eeprom.c +++ b/cmd/tlv_eeprom.c @@ -450,7 +450,7 @@ int do_tlv_eeprom(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) cmd = argv[1][0]; // select device - if (cmd == 'd') { + if (cmd == 'd' && argc > 2) { /* 'dev' command */ unsigned int devnum; -- 2.25.1

