On 7/2/25 12:22, Ján Tomko wrote:
On a Thursday in 2025, Michal Privoznik via Devel wrote:
> From: Michal Privoznik <mprivozn(a)redhat.com>
>
> While use of realpath() is not forbidden, our some of our mocks
> already have a test friendly reimplementation of
> virFileCanonicalizePath(). Use the latter.
>
That's a good enough reason to forbid it in syntax-check.
Sure, let me post it in a follow up patch.
In fact, the use of realpath in virFilleCanonicalizePath already
has a comment it's exempt from syntax-check. There is no rule for it,
because the comment is a leftover from when it used
canonicalize_file_name:
commit b4d601ba87ade7fa1a3a4f9c0c268659c15a35c3
util: use realpath/g_canonicalize_filename
The syntax-check rule was specifically introduced because of mocking:
commit 00d465bb4df4a49e07d51ce289142b5fae8ba344
syntax-check: Prohibit canonicalize_file_name()
Jano
> Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
> ---
> src/logging/log_cleaner.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/logging/log_cleaner.c b/src/logging/log_cleaner.c
> index 4efcbc18e4..d247fdf829 100644
> --- a/src/logging/log_cleaner.c
> +++ b/src/logging/log_cleaner.c
> @@ -66,7 +66,7 @@ virLogCleanerParseFilename(const char *path,
> g_autofree char *clear_path = NULL;
> char *chain_prefix = NULL;
>
> - clear_path = realpath(path, NULL);
> + clear_path = virFileCanonicalizePath(path);
> if (!clear_path) {
> VIR_WARN("Failed to resolve path %s: %s", path,
> g_strerror(errno));
> return NULL;
> --
> 2.49.0
>
Michal