diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-11-07 00:26:52 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-11-07 00:26:52 +0100 |
commit | b910d9ae5b370cf5bf9d6a71028119861b6ea8a4 (patch) | |
tree | ef02ccd3960de74b873a9ec95ab73ef06127b08f /sound | |
parent | c217429b14708999d6ac5de964c452600e8797d3 (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')
-rw-r--r-- | sound/pci/hda/hda_codec.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index f13834ba6b1..6f170b281e8 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) { |