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 <xypron.g...@gmx.de>
---
  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

Reply via email to