All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch] ALSA: asihpi - off by one in asihpi_hpi_ioctl()
@ 2011-07-27 12:02 ` Dan Carpenter
  0 siblings, 0 replies; 10+ messages in thread
From: Dan Carpenter @ 2011-07-27 12:02 UTC (permalink / raw)
  To: Jaroslav Kysela
  Cc: Takashi Iwai, Eliot Blennerhassett, Dan Rosenberg,
	kernel-janitors, open list:SOUND

"adapter" is used as an array index in the adapters[] array so
the off by one would make us read past the end.

Signed-off-by: Dan Carpenter <error27@gmail.com>
---
1c073b67979 "ALSA: asihpi - Remove spurious adapter index check"
reverted Dan Rosenburg's check that would have prevented the
overflow here.

Also it moved the initialization of "pa" down a couple lines so I'm
concerned there may be a bogus derereference here when we check
pa->type.  I don't have the hardware, so I can't test this.

diff --git a/sound/pci/asihpi/hpioctl.c b/sound/pci/asihpi/hpioctl.c
index 65fcf47..7ba7073 100644
--- a/sound/pci/asihpi/hpioctl.c
+++ b/sound/pci/asihpi/hpioctl.c
@@ -183,7 +183,7 @@ long asihpi_hpi_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 		int wrflag = -1;
 		u32 adapter = hm->h.adapter_index;
 
-		if ((adapter > HPI_MAX_ADAPTERS) || (!pa->type)) {
+		if ((adapter >= HPI_MAX_ADAPTERS) || (!pa->type)) {
 			hpi_init_response(&hr->r0, HPI_OBJ_ADAPTER,
 				HPI_ADAPTER_OPEN,
 				HPI_ERROR_BAD_ADAPTER_NUMBER);

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-07-27 21:45 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-27 12:02 [patch] ALSA: asihpi - off by one in asihpi_hpi_ioctl() Dan Carpenter
2011-07-27 12:02 ` Dan Carpenter
2011-07-27 12:55 ` Dan Rosenberg
2011-07-27 21:45   ` Eliot Blennerhassett
2011-07-27 21:45     ` Eliot Blennerhassett
2011-07-27 13:02 ` Dan Rosenberg
2011-07-27 13:06   ` Takashi Iwai
2011-07-27 13:06     ` Takashi Iwai
2011-07-27 14:05 ` Takashi Iwai
2011-07-27 14:05   ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.