From 62c24074ae2a39613b27028cde0bac2a20635ea1 Mon Sep 17 00:00:00 2001 From: Huang Yunxuan Date: Wed, 18 Mar 2026 22:36:24 +0800 Subject: [PATCH] ucm: fix optional include The path is not an absolute path and can't be used with `access()`. Let's call `uc_mgr_config_load_file()` directly and mask acceptable error numbers. Closes: https://github.com/alsa-project/alsa-lib/pull/499 Signed-off-by: Huang Yunxuan Signed-off-by: Jaroslav Kysela --- src/ucm/ucm_include.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/ucm/ucm_include.c b/src/ucm/ucm_include.c index b155a086..8a47e748 100644 --- a/src/ucm/ucm_include.c +++ b/src/ucm/ucm_include.c @@ -90,11 +90,10 @@ static int include_eval_one(snd_use_case_mgr_t *uc_mgr, err = uc_mgr_get_substituted_value(uc_mgr, &s, file); if (err < 0) return err; - if (opt_bool && access(s, R_OK) != 0) { - snd_trace(UCM, "optional file '%s' not found", s); + err = uc_mgr_config_load_file(uc_mgr, s, result); + if (opt_bool && (err == -ENOENT || err == -EACCES)) { + snd_trace(UCM, "optional file '%s' not found or readable", s); err = 0; - } else { - err = uc_mgr_config_load_file(uc_mgr, s, result); } free(s); return err;