From: Michal Privoznik Date: Tue, 9 Apr 2024 08:17:11 +0000 (+0200) Subject: qemusecuritytest: Call real virFileExists in mock X-Git-Tag: v10.3.0-rc1~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=01f2b614a25f60b9deab44e3efd05646958776ad;p=thirdparty%2Flibvirt.git qemusecuritytest: Call real virFileExists in mock When I suggested to Jim to call real virFileExists() I forgot to also suggest calling init_syms(). Without it, real_virFileExists pointer might be left unset. And indeed, that's what we were seeing on FreeBSD. This effectively reverts commit 4b5cc57ed35dc24d11673dd3f04bfb8073c0340d. Signed-off-by: Michal Privoznik Reviewed-by: Jiri Denemark Reviewed-by: Jim Fehlig --- diff --git a/tests/qemusecuritymock.c b/tests/qemusecuritymock.c index dc8a893e9d..2dfd6c33a0 100644 --- a/tests/qemusecuritymock.c +++ b/tests/qemusecuritymock.c @@ -66,6 +66,7 @@ static int (*real_close)(int fd); static int (*real_setfilecon_raw)(const char *path, const char *context); static int (*real_getfilecon_raw)(const char *path, char **context); #endif +static bool (*real_virFileExists)(const char *file); /* Global mutex to avoid races */ @@ -123,6 +124,7 @@ init_syms(void) VIR_MOCK_REAL_INIT(setfilecon_raw); VIR_MOCK_REAL_INIT(getfilecon_raw); #endif + VIR_MOCK_REAL_INIT(virFileExists); /* Intentionally not calling init_hash() here */ } @@ -386,8 +388,11 @@ bool virFileExists(const char *path) { VIR_LOCK_GUARD lock = virLockGuardLock(&m); - if (getenv(ENVVAR) == NULL) - return access(path, F_OK) == 0; + if (getenv(ENVVAR) == NULL) { + init_syms(); + + return real_virFileExists(path); + } init_hash(); if (virHashHasEntry(chown_paths, path))