Re: [U-Boot] [PATCH 1/1] kconfig/symbol.c: use correct pointer type argument for sizeof

2017-11-08 Thread Heinrich Schuchardt

On 11/09/2017 03:01 AM, Tom Rini wrote:

On Wed, Nov 08, 2017 at 10:13:54PM +0100, Heinrich Schuchardt wrote:

sym_arr is of type struct symbol **.
So in malloc we need sizeof(struct symbol *).

The problem was indicated by coccinelle.

Signed-off-by: Heinrich Schuchardt 
---
  scripts/kconfig/symbol.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c
index 20136ffefb..3c8bd9bb42 100644
--- a/scripts/kconfig/symbol.c
+++ b/scripts/kconfig/symbol.c
@@ -1061,7 +1061,7 @@ struct symbol **sym_re_search(const char *pattern)
}
if (sym_match_arr) {
qsort(sym_match_arr, cnt, sizeof(struct sym_match), 
sym_rel_comp);
-   sym_arr = malloc((cnt+1) * sizeof(struct symbol));
+   sym_arr = malloc((cnt+1) * sizeof(struct symbol *));
if (!sym_arr)
goto sym_re_search_free;
for (i = 0; i < cnt; i++)


Since this comes right from the kernel, shouldn't it be fixed there too?
Or is it already?  Thanks!


I already sent a mail upstream:
https://lkml.org/lkml/2017/11/8/898

Coccinelle indicated a few other problems (using the Linux coccicheck 
script):

https://patchwork.ozlabs.org/patch/836007/
https://patchwork.ozlabs.org/patch/836008/
https://patchwork.ozlabs.org/patch/836028/
https://patchwork.ozlabs.org/patch/836091/

Scripts like
scripts/coccinelle/iterators/itnull.cocci
are useful to search for API specific issues which generalized static 
analyzers like cppcheck miss.


To apply coccinelle I just copied scripts/coccicheck and 
scripts/coccinelle/* from Linux to U-Boot and ran


sudo apt-get install coccinelle
srctree=. scripts/coccicheck

Regards

Heinrich
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 1/1] kconfig/symbol.c: use correct pointer type argument for sizeof

2017-11-08 Thread Tom Rini
On Wed, Nov 08, 2017 at 10:13:54PM +0100, Heinrich Schuchardt wrote:
> sym_arr is of type struct symbol **.
> So in malloc we need sizeof(struct symbol *).
> 
> The problem was indicated by coccinelle.
> 
> Signed-off-by: Heinrich Schuchardt 
> ---
>  scripts/kconfig/symbol.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c
> index 20136ffefb..3c8bd9bb42 100644
> --- a/scripts/kconfig/symbol.c
> +++ b/scripts/kconfig/symbol.c
> @@ -1061,7 +1061,7 @@ struct symbol **sym_re_search(const char *pattern)
>   }
>   if (sym_match_arr) {
>   qsort(sym_match_arr, cnt, sizeof(struct sym_match), 
> sym_rel_comp);
> - sym_arr = malloc((cnt+1) * sizeof(struct symbol));
> + sym_arr = malloc((cnt+1) * sizeof(struct symbol *));
>   if (!sym_arr)
>   goto sym_re_search_free;
>   for (i = 0; i < cnt; i++)

Since this comes right from the kernel, shouldn't it be fixed there too?
Or is it already?  Thanks!

-- 
Tom


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 1/1] kconfig/symbol.c: use correct pointer type argument for sizeof

2017-11-08 Thread Heinrich Schuchardt
sym_arr is of type struct symbol **.
So in malloc we need sizeof(struct symbol *).

The problem was indicated by coccinelle.

Signed-off-by: Heinrich Schuchardt 
---
 scripts/kconfig/symbol.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c
index 20136ffefb..3c8bd9bb42 100644
--- a/scripts/kconfig/symbol.c
+++ b/scripts/kconfig/symbol.c
@@ -1061,7 +1061,7 @@ struct symbol **sym_re_search(const char *pattern)
}
if (sym_match_arr) {
qsort(sym_match_arr, cnt, sizeof(struct sym_match), 
sym_rel_comp);
-   sym_arr = malloc((cnt+1) * sizeof(struct symbol));
+   sym_arr = malloc((cnt+1) * sizeof(struct symbol *));
if (!sym_arr)
goto sym_re_search_free;
for (i = 0; i < cnt; i++)
-- 
2.14.2

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot