aboutsummaryrefslogtreecommitdiff
path: root/qemu-bridge-helper.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2020-08-18 11:58:34 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2020-09-30 19:11:36 +0200
commitf761b41a62c8ac12f26727dddc7ae1dd3ca9802b (patch)
tree6c9b57c93c3b2cf6faef0cf8dd510c9c90500fbf /qemu-bridge-helper.c
parent580e6ad6a4ebc1a039c86b7b7f0f2dcff0019091 (diff)
qemu-bridge-helper: relocate path to default ACL
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'qemu-bridge-helper.c')
-rw-r--r--qemu-bridge-helper.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/qemu-bridge-helper.c b/qemu-bridge-helper.c
index 88b26747fc..a26e1663f0 100644
--- a/qemu-bridge-helper.c
+++ b/qemu-bridge-helper.c
@@ -40,6 +40,7 @@
#endif
#include "qemu/queue.h"
+#include "qemu/cutils.h"
#include "net/tap-linux.h"
@@ -245,6 +246,7 @@ int main(int argc, char **argv)
ACLList acl_list;
int access_allowed, access_denied;
int ret = EXIT_SUCCESS;
+ g_autofree char *acl_file = NULL;
#ifdef CONFIG_LIBCAP_NG
/* if we're run from an suid binary, immediately drop privileges preserving
@@ -257,6 +259,8 @@ int main(int argc, char **argv)
}
#endif
+ qemu_init_exec_dir(argv[0]);
+
/* parse arguments */
for (index = 1; index < argc; index++) {
if (strcmp(argv[index], "--use-vnet") == 0) {
@@ -282,9 +286,10 @@ int main(int argc, char **argv)
/* parse default acl file */
QSIMPLEQ_INIT(&acl_list);
- if (parse_acl_file(DEFAULT_ACL_FILE, &acl_list) == -1) {
+ acl_file = get_relocated_path(DEFAULT_ACL_FILE);
+ if (parse_acl_file(acl_file, &acl_list) == -1) {
fprintf(stderr, "failed to parse default acl file `%s'\n",
- DEFAULT_ACL_FILE);
+ acl_file);
ret = EXIT_FAILURE;
goto cleanup;
}