From: Thomas Jarosch Date: Mon, 28 Jan 2013 09:21:14 +0000 (+0100) Subject: perf header: Fix double fclose() on do_write(fd, xxx) failure X-Git-Tag: upstream/snapshot3+hdmi~5742^2~12^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5809fde040de2afa477a6c593ce2e8fd2c11d9d3;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git perf header: Fix double fclose() on do_write(fd, xxx) failure 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 Link: http://lkml.kernel.org/r/1751778.SZQB4fNdIh@storm Signed-off-by: Arnaldo Carvalho de Melo --- diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index 7b24cf3..f6081cb 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -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) @@ -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; }