*/
const char *uc_mgr_alibcfg_by_device(snd_config_t **top, const char *name)
{
- char buf[5];
+ char buf[7];
long card_num;
snd_config_t *config;
snd_use_case_mgr_t *uc_mgr;
if (strncmp(name, "_ucm", 4) || strlen(name) < 12 || name[8] != '.')
return NULL;
- strncpy(buf, name + 4, 4);
- buf[4] = '\0';
+ buf[0] = '0';
+ buf[1] = 'x';
+ strncpy(buf + 2, name + 4, 4);
+ buf[6] = '\0';
err = safe_strtol(buf, &card_num);
if (err < 0 || card_num < 0 || card_num > 0xffff)
return NULL;