summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Stein <alexander.stein@systec-electronic.com>2011-11-01 08:40:07 (GMT)
committerTakashi Iwai <tiwai@suse.de>2011-11-01 08:46:39 (GMT)
commit359f90982cba0ba8db39b683de05dcb2de64b979 (patch)
tree16c4a21f9968f3a5e84f0d274244861f7f173903
parent228cf79376f13b98f2e1ac10586311312757675c (diff)
downloadlinux-359f90982cba0ba8db39b683de05dcb2de64b979.tar.xz
ALSA: hda_hwdep: Fix possible buffer overflow
If a line in the firmware file is larger than the given buffer size (and so the firmware file size), size is set to a value larger than the actual buffer size. This results in an overflow in the buffer passed. Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/hda_hwdep.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/sound/pci/hda/hda_hwdep.c b/sound/pci/hda/hda_hwdep.c
index 72e5885..7e7d078 100644
--- a/sound/pci/hda/hda_hwdep.c
+++ b/sound/pci/hda/hda_hwdep.c
@@ -756,8 +756,6 @@ static int get_line_from_fw(char *buf, int size, struct firmware *fw)
}
if (!fw->size)
return 0;
- if (size < fw->size)
- size = fw->size;
for (len = 0; len < fw->size; len++) {
if (!*p)