summaryrefslogtreecommitdiff
path: root/sound/pci/hda/hda_codec.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-11-07 00:26:52 +0100
committerTakashi Iwai <tiwai@suse.de>2008-11-07 00:26:52 +0100
commitb910d9ae5b370cf5bf9d6a71028119861b6ea8a4 (patch)
treeef02ccd3960de74b873a9ec95ab73ef06127b08f /sound/pci/hda/hda_codec.c
parentc217429b14708999d6ac5de964c452600e8797d3 (diff)
ALSA: hda - Add max allocation check in array allocator
Added a check for max allocation size in snd_array_new() for a debugging purpose. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_codec.c')
-rw-r--r--sound/pci/hda/hda_codec.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index f13834ba6b1d..6f170b281e85 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -3399,7 +3399,10 @@ void *snd_array_new(struct snd_array *array)
{
if (array->used >= array->alloced) {
int num = array->alloced + array->alloc_align;
- void *nlist = kcalloc(num + 1, array->elem_size, GFP_KERNEL);
+ void *nlist;
+ if (snd_BUG_ON(num >= 4096))
+ return NULL;
+ nlist = kcalloc(num + 1, array->elem_size, GFP_KERNEL);
if (!nlist)
return NULL;
if (array->list) {