• R/O
  • HTTP
  • SSH
  • HTTPS

提交

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

external/busybox


Commit MetaInfo

修订版6e3fb0a62dc312cf4828eb934ad9bd34a5a1b32c (tree)
时间2020-04-14 08:42:51
作者Denys Vlasenko <vda.linux@goog...>
CommiterMauro Rossi

Log Message

top: move free(prev_hist) out of signal path

It was seen being called recursively on repeated signals,
leading to double free

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>

更改概述

差异

--- a/procps/top.c
+++ b/procps/top.c
@@ -727,12 +727,6 @@ static void reset_term(void)
727727 {
728728 if (!OPT_BATCH_MODE)
729729 tcsetattr_stdin_TCSANOW(&initial_settings);
730- if (ENABLE_FEATURE_CLEAN_UP) {
731- clearmems();
732-# if ENABLE_FEATURE_TOP_CPU_USAGE_PERCENTAGE
733- free(prev_hist);
734-# endif
735- }
736730 }
737731
738732 static void sig_catcher(int sig)
@@ -1256,5 +1250,11 @@ int top_main(int argc UNUSED_PARAM, char **argv)
12561250 #if ENABLE_FEATURE_USE_TERMIOS
12571251 reset_term();
12581252 #endif
1253+ if (ENABLE_FEATURE_CLEAN_UP) {
1254+ clearmems();
1255+#if ENABLE_FEATURE_TOP_CPU_USAGE_PERCENTAGE
1256+ free(prev_hist);
1257+#endif
1258+ }
12591259 return EXIT_SUCCESS;
12601260 }