summaryrefslogtreecommitdiff
path: root/sound/pci/ice1712/quartet.c
diff options
context:
space:
mode:
authorJoey Pabalinas <joeypabalinas@gmail.com>2018-03-01 17:17:07 +0300
committerTakashi Iwai <tiwai@suse.de>2018-03-01 18:13:13 +0300
commit338e17d3f58e9868a12af7deb1edcfb40bd588b2 (patch)
tree2a0ec4763de4fc80103c49c0ed7c8aa80e7e0f37 /sound/pci/ice1712/quartet.c
parentdd5f313be0d4d7a46f0e82c42aed4fbc784699ea (diff)
downloadlinux-338e17d3f58e9868a12af7deb1edcfb40bd588b2.tar.xz
ALSA: ice1712: replace strcpy() with strlcpy()
Replace unsafe usages of strcpy() to copy the name argument into the sid.name buffer with strlcpy() to guard against possible buffer overflows. Signed-off-by: Joey Pabalinas <joeypabalinas@gmail.com> Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/ice1712/quartet.c')
-rw-r--r--sound/pci/ice1712/quartet.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sound/pci/ice1712/quartet.c b/sound/pci/ice1712/quartet.c
index d145b5eb7ff8..5bc836241c97 100644
--- a/sound/pci/ice1712/quartet.c
+++ b/sound/pci/ice1712/quartet.c
@@ -26,6 +26,7 @@
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/slab.h>
+#include <linux/string.h>
#include <sound/core.h>
#include <sound/tlv.h>
#include <sound/info.h>
@@ -785,10 +786,9 @@ DECLARE_TLV_DB_SCALE(qtet_master_db_scale, -6350, 50, 1);
static struct snd_kcontrol *ctl_find(struct snd_card *card,
const char *name)
{
- struct snd_ctl_elem_id sid;
- memset(&sid, 0, sizeof(sid));
- /* FIXME: strcpy is bad. */
- strcpy(sid.name, name);
+ struct snd_ctl_elem_id sid = {0};
+
+ strlcpy(sid.name, name, sizeof(sid.name));
sid.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
return snd_ctl_find_id(card, &sid);
}