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 <thomas.jarosch@intra2net.com>
Link: http://lkml.kernel.org/r/1751778.SZQB4fNdIh@storm
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Thomas Jarosch 2013-01-28 10:21:14 +01:00 committed by Arnaldo Carvalho de Melo
parent fdae637391
commit 5809fde040

View File

@ -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;
}