]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
Fix closedir usage in virNumaGetPages
authorRoman Bogorodskiy <bogorodskiy@gmail.com>
Sat, 21 Jun 2014 15:24:04 +0000 (19:24 +0400)
committerRoman Bogorodskiy <bogorodskiy@gmail.com>
Mon, 23 Jun 2014 15:25:59 +0000 (19:25 +0400)
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

index f6354c9d89962dbc77e38f782ea5900f337f463d..27b6ecb9a764857d08080328083b1ed563dd53c4 100644 (file)
@@ -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;
 }