
On 9/24/05, Wolfgang Denk wd@denx.de wrote:
I've also fixed the mii and usb commands which can dereference a null pointer when called without arguments.
No, this is not possible. The command definition requires always at least one argument. This part rejected.
I beg to differ - I've seen this problem also. The code in main.c:run_command() checks for more than more than a maximum but never checks a minimum number of arguments, so entering mii<CR> makes cmd_mii get called with argv[0] = 'mii' and argc = 1. main.c:parse_line() sets argv[1] to NULL.
The code in cmd_mii.c assumes there will be a valid argv[1], but never checks argc before using argv[1]. This leads to an exception on machines where 0 is not a valid address (like MIPS).
-- Hardware, n.: The parts of a computer system that can be kicked.