summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Engestrom <eric@engestrom.ch>2020-02-02 17:04:29 +0000
committerMarge Bot <eric+marge@anholt.net>2020-02-04 19:26:40 +0000
commitcae609326678bd00702261f756ce0c16efd530d4 (patch)
treeb6f9780eecb583207f77bca0970120b3e5b350cf
parent8a2c507a8abe2537df5bc1f4847c40e6d4314dec (diff)
freedreno/perfcntrs: fix fd leak
CoverityID: 1110568, 1458071 Fixes: 5a13507164a26fc796f0 ("freedreno/perfcntrs: add fdperf") Signed-off-by: Eric Engestrom <eric@engestrom.ch> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3671> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3671>
-rw-r--r--src/freedreno/perfcntrs/fdperf.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/freedreno/perfcntrs/fdperf.c b/src/freedreno/perfcntrs/fdperf.c
index 5b4488209c5..3c3b9912b3f 100644
--- a/src/freedreno/perfcntrs/fdperf.c
+++ b/src/freedreno/perfcntrs/fdperf.c
@@ -123,10 +123,12 @@ readfile(const char *path, int *sz)
if (ret < 0) {
free(buf);
*sz = 0;
+ close(fd);
return NULL;
} else if (ret < CHUNKSIZE) {
n += ret;
*sz = n;
+ close(fd);
return buf;
} else {
n += CHUNKSIZE;
@@ -393,8 +395,10 @@ find_device(void)
err(1, "could not open /dev/mem");
dev.io = mmap(0, dev.size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, dev.base);
- if (!dev.io)
+ if (!dev.io) {
+ close(fd);
err(1, "could not map device");
+ }
}
/*