]> git.baikalelectronics.ru Git - kernel.git/commit
kconfig: Don't leak 'source' filenames during parsing
authorUlf Magnusson <ulfalizer@gmail.com>
Sun, 8 Oct 2017 17:11:19 +0000 (19:11 +0200)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 10 Jan 2018 16:14:01 +0000 (01:14 +0900)
commit09600b4ad3415e048cb3747ae4745f16c27d8464
treec49fed79a67df612c1c03fda8a838c4d0964c09f
parenteaa62ac636e2b72ae99a06ffa76d0ac5f6f7ed05
kconfig: Don't leak 'source' filenames during parsing

The 'source_stmt' nonterminal takes a 'prompt', which consists of either
a T_WORD or a T_WORD_QUOTE, both of which are always allocated on the
heap in zconf.l and need to have their associated strings freed. Free
them.

The existing code already makes sure to always copy the string, but add
a warning to sym_expand_string_value() to make it clear that the string
must be copied, just in case.

Summary from Valgrind on 'menuconfig' (ARCH=x86) before the fix:

LEAK SUMMARY:
   definitely lost: 387,504 bytes in 15,545 blocks
   ...

Summary after the fix:

LEAK SUMMARY:
   definitely lost: 344,616 bytes in 14,355 blocks
   ...

Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/kconfig/symbol.c
scripts/kconfig/zconf.y