From: Mengdong Lin Date: Wed, 20 Jul 2016 01:53:12 +0000 (+0800) Subject: topology: Check address and length before string copy X-Git-Tag: v1.1.2~5 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=9797e9893093dbbde9745faad5163c93be3ca3a6;p=alsa-lib.git topology: Check address and length before string copy elem_copy_text() is widely used for string copy in topology. Because some name fields are not mandatory for users, sometimes the source can be invalid and we should not do the copy. So we add check here. Signed-off-by: Mengdong Lin Reviewed-by: Takashi Sakamoto Signed-off-by: Takashi Iwai --- diff --git a/src/topology/tplg_local.h b/src/topology/tplg_local.h index 4d79aa7b..cfde4cc5 100644 --- a/src/topology/tplg_local.h +++ b/src/topology/tplg_local.h @@ -253,6 +253,9 @@ struct tplg_elem* tplg_elem_new_common(snd_tplg_t *tplg, static inline void elem_copy_text(char *dest, const char *src, int len) { + if (!dest || !src || !len) + return; + strncpy(dest, src, len); dest[len - 1] = 0; }