mån 2012-10-29 klockan 18:34 -0500 skrev Kim Phillips:

> diff --git a/common/command.c b/common/command.c
> index 50c8429..f51df26 100644
> --- a/common/command.c
> +++ b/common/command.c
> @@ -40,8 +40,15 @@ int _do_help (cmd_tbl_t *cmd_start, int cmd_items, 
> cmd_tbl_t * cmdtp, int
>       int i;
>       int rcode = 0;
>  
> +     if (cmd_items > CONFIG_SYS_MAXARGS) {
> +             printf("%s: cmd_items %d exceeds hardcoded limit %d."
> +                    " Recompile with higher CONFIG_SYS_MAXARGS?\n",
> +                    __func__, cmd_items, CONFIG_SYS_MAXARGS);
> +             return -1;
> +     }
> +
>       if (argc == 1) {        /*show list of commands */
> -             cmd_tbl_t *cmd_array[cmd_items];
> +             cmd_tbl_t *cmd_array[CONFIG_SYS_MAXARGS];
>               int i, j, swaps;
>  


This breaks the help command if there is more than 16 commands enabled,
i.e. for everyone.

CONFIG_SYS_MAXARGS is not meant to be the maximum number of commands, it
is the maximum number of arguments to a single command.

Regards
Henrik

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to