[RFC: 2.6.21 patch] fix sound/pci/ice1712/wtm.c:wtm_init()

Adrian Bunk
2007-03-19T09:25:05Z

The Coverity checker spotted this bogus for() loop that produces an
array overrun.

It seems what actually should be done is quite simple?

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

sound/pci/ice1712/wtm.c | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)

--- linux-2.6.21-rc3-mm2/sound/pci/ice1712/wtm.c.old 2007-03-19 01:29:23.000000000 +0100
+++ linux-2.6.21-rc3-mm2/sound/pci/ice1712/wtm.c 2007-03-19 01:33:06.000000000 +0100
@@ -489,23 +489,15 @@

static int __devinit wtm_init(struct snd_ice1712 *ice)
{
- static unsigned short stac_inits_prodigy[] = {
- STAC946X_RESET, 0,
- (unsigned short)-1
- };
- unsigned short *p;
-
/*WTM 192M*/
ice->num_total_dacs = 8;
ice->num_total_adcs = 4;
ice->force_rdma1 = 1;

/*initialize codec*/
- p = stac_inits_prodigy;
- for (; *p != (unsigned short)-1; p += 2) {
- stac9460_put(ice, p[0], p[1]);
- stac9460_2_put(ice, p[0], p[1]);
- }
+ stac9460_put(ice, STAC946X_RESET, 0);
+ stac9460_2_put(ice, STAC946X_RESET, 0);
+
return 0;
}