summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/launch-libvirt.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c
index 2811c1ad..f5f641a4 100644
--- a/src/launch-libvirt.c
+++ b/src/launch-libvirt.c
@@ -182,8 +182,10 @@ launch_libvirt (guestfs_h *g, const char *libvirt_uri)
* right we have to choose a directory which is known about in the
* policy. See: https://bugzilla.redhat.com/show_bug.cgi?id=842307
*/
- if (is_root && is_dir ("/var/run/libguestfs"))
- sockdir = safe_strdup (g, "/var/run/libguestfs");
+ if (is_root) {
+ if (mkdir ("/var/run/libguestfs", 0755) == 0)
+ sockdir = safe_strdup (g, "/var/run/libguestfs");
+ }
if (!sockdir) {
const char *xdg = getenv ("XDG_RUNTIME_DIR");