Skip to content

Commit

Permalink
perf header: Fix double fclose() on do_write(fd, xxx) failure
Browse files Browse the repository at this point in the history
cppcheck reported:
[util/header.c:983]: (error) Used file that is not opened.

Thanks to Arnaldo Carvalho de Melo for pointing out that
fclose(NULL) is undefined behavior -> protect against it.

Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
Link: http://lkml.kernel.org/r/1751778.SZQB4fNdIh@storm
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
  • Loading branch information
Thomas Jarosch authored and Arnaldo Carvalho de Melo committed Jan 30, 2013
1 parent fdae637 commit 5809fde
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion tools/perf/util/header.c
Original file line number Diff line number Diff line change
Expand Up @@ -955,6 +955,7 @@ static int write_topo_node(int fd, int node)
}

fclose(fp);
fp = NULL;

ret = do_write(fd, &mem_total, sizeof(u64));
if (ret)
Expand All @@ -981,7 +982,8 @@ static int write_topo_node(int fd, int node)
ret = do_write_string(fd, buf);
done:
free(buf);
fclose(fp);
if (fp)
fclose(fp);
return ret;
}

Expand Down

0 comments on commit 5809fde

Please sign in to comment.