From 4a82ef92bec219ecdbf9c033db16a606caa5daab Mon Sep 17 00:00:00 2001 From: Roman Bogorodskiy Date: Sat, 21 Jun 2014 19:24:04 +0400 Subject: [PATCH] Fix closedir usage in virNumaGetPages virNumaGetPages calls closedir(dir) in cleanup and dir could be NULL if we jump there from the failed opendir() call. While it's not harmful on Linux, FreeBSD libc crashes [1], so make sure that dir is not NULL before calling closedir. 1: http://lists.freebsd.org/pipermail/freebsd-standards/2014-January/002704.html --- src/util/virnuma.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/util/virnuma.c b/src/util/virnuma.c index f6354c9d89..27b6ecb9a7 100644 --- a/src/util/virnuma.c +++ b/src/util/virnuma.c @@ -843,7 +843,8 @@ virNumaGetPages(int node, VIR_FREE(tmp_free); VIR_FREE(tmp_avail); VIR_FREE(tmp_size); - closedir(dir); + if (dir) + closedir(dir); VIR_FREE(path); return ret; }