topology: fix potential null pointer from strchr

This patch adds check to the return pointer from strchr,
because it may be null and cause segment fault, if component
is not properly constructed.

Fixes: https://github.com/alsa-project/alsa-utils/pull/91
Signed-off-by: Chao Song <chao.song@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Chao Song 2021-05-31 10:29:57 +08:00 committed by Jaroslav Kysela
parent 78212445de
commit 3d7a6facd9
2 changed files with 10 additions and 0 deletions

View file

@ -146,6 +146,11 @@ static int tplg_pp_get_widget_name(struct tplg_pre_processor *tplg_pp,
/* get class name */
args = strchr(string, '.');
if (!args) {
SNDERR("Error getting class name for %s\n", string);
return -EINVAL;
}
class_name = calloc(1, strlen(string) - strlen(args) + 1);
if (!class_name)
return -ENOMEM;

View file

@ -492,6 +492,11 @@ static int tplg_pp_add_object_tuple_section(struct tplg_pre_processor *tplg_pp,
}
type = strchr(token_ref, '.');
if(!type) {
SNDERR("Error getting type for %s\n", token_ref);
return -EINVAL;
}
token = calloc(1, strlen(token_ref) - strlen(type) + 1);
if (!token)
return -ENOMEM;