Ulf Magnusson
f52bf07175
kconfig: Fix expr_free() E_NOT leak
...
[ Upstream commit 5b1374b3b3c2fc4f63a398adfa446fb8eff791a4 ]
Only the E_NOT operand and not the E_NOT node itself was freed, due to
accidentally returning too early in expr_free(). Outline of leak:
switch (e->type) {
...
case E_NOT:
expr_free(e->left.expr);
return;
...
}
*Never reached, 'e' leaked*
free(e);
Fix by changing the 'return' to a 'break'.
Summary from Valgrind on 'menuconfig' (ARCH=x86) before the fix:
LEAK SUMMARY:
definitely lost: 44,448 bytes in 1,852 blocks
...
Summary after the fix:
LEAK SUMMARY:
definitely lost: 1,608 bytes in 67 blocks
...
Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-05-30 07:50:20 +02:00
..
lxdialog
kconfig/lxdialog: get ncurses CFLAGS with pkg-config
2014-09-23 15:47:48 +02:00
.gitignore
kconfig: remove lkc_defs.h from .gitignore and dontdiff
2012-07-13 15:08:25 +02:00
check.sh
kbuild: trivial - remove trailing empty lines
2014-06-10 00:04:06 +02:00
conf.c
kconfig: allow kconfig to handle longer path names
2015-12-10 11:06:10 +01:00
confdata.c
kconfig: add unexpected data itself to warning
2016-05-10 17:20:19 +02:00
expr.c
kconfig: Fix expr_free() E_NOT leak
2018-05-30 07:50:20 +02:00
expr.h
kconfig: allow use of relations other than (in)equality
2015-06-15 14:05:58 +02:00
gconf.c
kconfig: Do not print status messages in make -s mode
2015-04-09 17:44:34 +02:00
gconf.glade
scripts/kconfig/gconf.glade Update broken web addresses.
2010-09-17 16:54:42 +02:00
images.c
kxgettext.c
kconfig: nuke LKC_DIRECT_LINK cruft
2011-06-06 15:32:20 -04:00
list.h
Replace mentions of "list_struct" to "list_head"
2014-11-20 14:45:15 +01:00
lkc.h
kconfig: Remove unnecessary prototypes from headers
2015-02-25 15:00:17 +01:00
lkc_proto.h
kconfig: Remove unnecessary prototypes from headers
2015-02-25 15:00:17 +01:00
Makefile
kbuild: make sure autoksyms.h exists early
2016-12-01 10:19:22 -08:00
mconf.c
kconfig: Do not print status messages in make -s mode
2015-04-09 17:44:34 +02:00
menu.c
kconfig: Fix automatic menu creation mem leak
2018-05-30 07:50:20 +02:00
merge_config.sh
kconfig/merge_config.sh: Accept a single file
2015-10-14 16:19:37 +02:00
nconf.c
kconfig: Do not print status messages in make -s mode
2015-04-09 17:44:34 +02:00
nconf.gui.c
kconfig/nconf: Fix hang when editing symbol with a long prompt
2017-01-09 08:32:25 +01:00
nconf.h
scripts/kconfig/nconf: dynamically alloc dialog_input_result
2011-09-09 14:40:08 +02:00
POTFILES.in
kconfig: gettext support for lxdialog
2008-01-28 23:14:39 +01:00
qconf.cc
kconfig: fix qconf segfault by deleting heap objects
2016-01-11 09:45:08 +01:00
qconf.h
Port xconfig to Qt5 - Source format.
2015-10-14 14:59:03 +02:00
streamline_config.pl
localmodconfig: Fix whitespace repeat count after "tristate"
2016-04-26 18:35:16 -04:00
symbol.c
kconfig/symbol.c: handle choice_values that depend on 'm' symbols
2016-05-10 21:14:27 +02:00
util.c
kconfig: Remove dead code
2015-02-25 15:00:16 +01:00
zconf.gperf
kconfig: warn of unhandled characters in Kconfig commands
2015-08-19 17:05:39 +02:00
zconf.hash.c_shipped
kconfig: Regenerate shipped zconf.{hash,lex}.c files
2015-08-19 17:05:39 +02:00
zconf.l
kconfig: warn of unhandled characters in Kconfig commands
2015-08-19 17:05:39 +02:00
zconf.lex.c_shipped
kconfig: Regenerate shipped zconf.{hash,lex}.c files
2015-08-19 17:05:39 +02:00
zconf.tab.c_shipped
kconfig: re-generate *.c_shipped files after previous change
2015-06-15 14:05:58 +02:00
zconf.y
kconfig: Don't leak main menus during parsing
2018-05-30 07:50:20 +02:00