fix file descriptor leak in osysmon_file_read

Don't forget to close the file which was opened at the
beginning of this function's scope. Found by Coverity.

Change-Id: Ie1b5734748438c6d785cd96dfa9af6303cd102da
Related: CID#189756
This commit is contained in:
Stefan Sperling 2018-11-27 11:47:41 +01:00
parent ac0061a30f
commit 908d3cc921
1 changed files with 4 additions and 2 deletions

View File

@ -77,7 +77,7 @@ static void osysmon_file_destroy(struct osysmon_file *of)
static void osysmon_file_read(struct osysmon_file *of, struct value_node *parent) static void osysmon_file_read(struct osysmon_file *of, struct value_node *parent)
{ {
char buf[512]; char buf[512];
char *nl; char *s, *nl;
FILE *f; FILE *f;
f = fopen(of->cfg.path, "r"); f = fopen(of->cfg.path, "r");
@ -85,7 +85,9 @@ static void osysmon_file_read(struct osysmon_file *of, struct value_node *parent
value_node_add(parent, parent, of->cfg.name, "<NOTFOUND>"); value_node_add(parent, parent, of->cfg.name, "<NOTFOUND>");
return; return;
} }
if (fgets(buf, sizeof(buf), f) == NULL) { s = fgets(buf, sizeof(buf), f);
fclose(f);
if (s == NULL) {
value_node_add(parent, parent, of->cfg.name, "<EMPTY>"); value_node_add(parent, parent, of->cfg.name, "<EMPTY>");
return; return;
} }