mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
qemu_shim: Require absolute path for root directory
The virConnectOpen(), well virConnectOpenInternal() reports an error if embed root is not an absolute path. This is a fair requirement, but our qemu_shim doesn't check this requirement and passes the path to mkdir(), only to fail later on, leaving the empty directory behind: $ ls -d asd ls: cannot access 'asd': No such file or directory $ virt-qemu-run -r asd whatever.xml virt-qemu-run: cannot open qemu:///embed?root=asd: unsupported configuration: root path must be absolute $ ls -d asd asd Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Kristina Hanicova <khanicov@redhat.com>
This commit is contained in:
parent
94862a77be
commit
b407897ea9
@ -214,10 +214,18 @@ int main(int argc, char **argv)
|
||||
}
|
||||
tmproot = true;
|
||||
|
||||
} else if (g_mkdir_with_parents(root, 0755) < 0) {
|
||||
g_printerr("%s: cannot create dir: %s\n",
|
||||
argv[0], g_strerror(errno));
|
||||
goto cleanup;
|
||||
} else {
|
||||
if (!g_path_is_absolute(root)) {
|
||||
g_printerr("%s: the root directory must be an absolute path\n",
|
||||
argv[0]);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (g_mkdir_with_parents(root, 0755) < 0) {
|
||||
g_printerr("%s: cannot create dir: %s\n",
|
||||
argv[0], g_strerror(errno));
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
if (chmod(root, 0755) < 0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user