Dear Anatolij Gustschin,

In message <1266924140-14457-1-git-send-email-ag...@denx.de> you wrote:
> The length of configured MTDPARTS_DEFAULT string
> could be greather than console printbuffer size.
> Check the lenght of the string before printing
> to prevent U-Boot crashes.
> 
> Signed-off-by: Anatolij Gustschin <ag...@denx.de>
> ---
>  common/cmd_mtdparts.c |    8 ++++++++
>  1 files changed, 8 insertions(+), 0 deletions(-)
> 
> diff --git a/common/cmd_mtdparts.c b/common/cmd_mtdparts.c
> index 230e96e..d4cb194 100644
> --- a/common/cmd_mtdparts.c
> +++ b/common/cmd_mtdparts.c
> @@ -1254,6 +1254,14 @@ static void list_partitions(void)
>       printf("\ndefaults:\n");
>       printf("mtdids  : %s\n",
>               mtdids_default ? mtdids_default : "none");
> +
> +     /* Check to prevent printbuffer overflows */
> +     if (mtdparts_default && strlen(mtdparts_default) > CONFIG_SYS_PBSIZE) {
> +             puts("Warning: mtdparts too long,"
> +                  " please increase CONFIG_SYS_PBSIZE\n");
> +             return;
> +     }
> +

Instead of adding essentially dead code that does not really help the
end user, it would be better to avoid the potential problems. As log
as the console code has not been improved, it may make sense to avoid
printf() when you don't really need it.

I recommend to change this

>       printf("mtdparts: %s\n",
>               mtdparts_default ? mtdparts_default : "none");

into something like

        puts("mtdparts: ");
        puts(mtdparts_default ? mtdparts_default : "none");

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
"Unix is simple, but it takes a genius to understand the simplicity."
                                                     - Dennis Ritchie
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to