]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
qemu-bridge-helper: relocate path to default ACL
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 18 Aug 2020 09:58:34 +0000 (11:58 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 30 Sep 2020 17:11:36 +0000 (19:11 +0200)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
qemu-bridge-helper.c

index 88b26747fc866116637716264dea3ce4631a4b11..a26e1663f02de3c99198df6e2080d52c051f1ac1 100644 (file)
@@ -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;
     }