From dfa118b4d5757013d08d52dcd796fdde7dba3034 Mon Sep 17 00:00:00 2001 From: Jim Warner Date: Fri, 5 Jan 2018 00:00:00 -0600 Subject: [PATCH] top: tweak that recent enhancement to startup defaults When the new approach for startup defaults was adopted in the reference below, a file might be left open that technically should be closed. This situation arises in the unlikely event the #define RCFILE_NOERR is active. Without that #define, the program will exit early thus rendering the open file issue moot. However, even with that #define there was no real harm with an open file. It simply meant a 2nd FILE struct would have been used when, or if, the rcfile was written via a 'W' command. Anyway, this patch ensures such a file will be closed. Reference(s): . Dec, 2017 - /etc/topdefaultrc introduced commit 3e6a208ae501194fdb39d5f259e327c087dc8c84 Signed-off-by: Jim Warner --- top/top.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/top/top.c b/top/top.c index d05776c2..b398bf37 100644 --- a/top/top.c +++ b/top/top.c @@ -3771,7 +3771,7 @@ error Hey, fix the above fscanf 'PFLAGSSIZ' dependency ! * line 15 : miscellaneous additional global settings * Any remaining lines are devoted to the 'Inspect Other' feature * 3. 'SYS_RCDEFAULTS' system-wide defaults if 'Rc_name' absent - * format is identical to #2 above */ + * format is identical to #2 above */ static void configs_read (void) { float tmp_delay = DEF_DELAY; const char *p, *p_home; @@ -3809,15 +3809,15 @@ static void configs_read (void) { } if (fp) { - if ((p = config_file(fp, Rc_name, &tmp_delay))) - goto default_or_error; + p = config_file(fp, Rc_name, &tmp_delay); fclose(fp); + if (p) goto default_or_error; } else { fp = fopen(SYS_RCDEFAULTS, "r"); if (fp) { - if ((p = config_file(fp, SYS_RCDEFAULTS, &tmp_delay))) - goto default_or_error; + p = config_file(fp, SYS_RCDEFAULTS, &tmp_delay); fclose(fp); + if (p) goto default_or_error; } }