diff options
Diffstat (limited to 'meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch')
-rw-r--r-- | meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch b/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch new file mode 100644 index 0000000000..64ebdb19c9 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch @@ -0,0 +1,69 @@ +From 639650dd64e483074dd7c3c7ea6dc1b1bd542743 Mon Sep 17 00:00:00 2001 +From: alperak <alperyasinak1@gmail.com> +Date: Sun, 12 Nov 2023 20:16:55 +0300 +Subject: [PATCH] fixed compilation error caused by strncpy + +Issue: + https://github.com/tinyalsa/tinyalsa/issues/219 + +Fix: + https://github.com/tinyalsa/tinyalsa/pull/220 + https://github.com/tinyalsa/tinyalsa/pull/221 + +Upstream-Status: Submitted + +Signed-off-by: alperak <alperyasinak1@gmail.com> +--- + src/mixer_plugin.c | 8 +++++--- + src/pcm_plugin.c | 9 ++++++--- + 2 files changed, 11 insertions(+), 6 deletions(-) + +diff --git a/src/mixer_plugin.c b/src/mixer_plugin.c +index 34117a9..f608563 100644 +--- a/src/mixer_plugin.c ++++ b/src/mixer_plugin.c +@@ -82,7 +82,8 @@ static int mixer_plug_get_elem_id(struct mixer_plug_data *plug_data, + id->iface = ctl->iface; + + strncpy((char *)id->name, (char *)ctl->name, +- sizeof(id->name)); ++ sizeof(id->name) - 1); ++ ((char *)id->name)[sizeof(id->name) - 1] = '\0'; + + return 0; + } +@@ -100,8 +101,9 @@ static int mixer_plug_info_enum(struct snd_control *ctl, + + strncpy(einfo->value.enumerated.name, + val->texts[einfo->value.enumerated.item], +- sizeof(einfo->value.enumerated.name)); +- ++ sizeof(einfo->value.enumerated.name) - 1); ++ einfo->value.enumerated.name[sizeof(einfo->value.enumerated.name) - 1] = '\0'; ++ + return 0; + } + +diff --git a/src/pcm_plugin.c b/src/pcm_plugin.c +index 15bfc80..47bf4a5 100644 +--- a/src/pcm_plugin.c ++++ b/src/pcm_plugin.c +@@ -153,9 +153,12 @@ static int pcm_plug_info(struct pcm_plug_data *plug_data, + return ret; + } + +- strncpy((char *)info->id, name, sizeof(info->id)); +- strncpy((char *)info->name, name, sizeof(info->name)); +- strncpy((char *)info->subname, name, sizeof(info->subname)); ++ strncpy((char *)info->id, name, sizeof(info->id) - 1); ++ ((char *)info->id)[sizeof(info->id) - 1] = '\0'; ++ strncpy((char *)info->name, name, sizeof(info->name) - 1); ++ ((char *)info->name)[sizeof(info->name) - 1] = '\0'; ++ strncpy((char *)info->subname, name, sizeof(info->subname) - 1); ++ ((char *)info->subname)[sizeof(info->subname) - 1] = '\0'; + + info->subdevices_count = 1; + +-- +2.25.1 + |