From: Jaroslav Kysela Date: Fri, 12 Nov 2021 14:59:28 +0000 (+0100) Subject: ucm: fix parsing of the internal hexadecimal card identifier X-Git-Tag: v1.2.6~10 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=050f18c525d44f3edbdd14bff189e40e45cc8b89;p=alsa-lib.git ucm: fix parsing of the internal hexadecimal card identifier Too many code was removed. Fixes: f547b2e3 ("conf: introduce safe_strtol_base()") Fixes: https://github.com/alsa-project/alsa-lib/issues/188 Signed-off-by: Jaroslav Kysela --- diff --git a/src/ucm/utils.c b/src/ucm/utils.c index 33802a38..5f61e2a2 100644 --- a/src/ucm/utils.c +++ b/src/ucm/utils.c @@ -811,6 +811,7 @@ void uc_mgr_card_close(snd_use_case_mgr_t *uc_mgr) */ const char *uc_mgr_alibcfg_by_device(snd_config_t **top, const char *name) { + char buf[5]; long card_num; snd_config_t *config; snd_use_case_mgr_t *uc_mgr; @@ -818,6 +819,8 @@ const char *uc_mgr_alibcfg_by_device(snd_config_t **top, const char *name) if (strncmp(name, "_ucm", 4) || strlen(name) < 12 || name[8] != '.') return NULL; + strncpy(buf, name + 4, 4); + buf[4] = '\0'; err = safe_strtol_base(name, &card_num, 16); if (err < 0 || card_num < 0 || card_num > 0xffff) return NULL;