浏览代码

ALSA: firewire-lib: Use ARRAY_SIZE() instead of sizeof() for correct loop limit

This commit fixes a big for loop count with array. The limitation of loop
count should be calcurated with the number of elements in the array, not
with the number of bytes.

Aditionally, this commit apply the same declaration as a prototype in header
for the array.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Sakamoto 11 年之前
父节点
当前提交
f9503a68fb
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      sound/firewire/amdtp.c

+ 2 - 2
sound/firewire/amdtp.c

@@ -107,7 +107,7 @@ const unsigned int amdtp_syt_intervals[CIP_SFC_COUNT] = {
 };
 EXPORT_SYMBOL(amdtp_syt_intervals);
 
-const unsigned int amdtp_rate_table[] = {
+const unsigned int amdtp_rate_table[CIP_SFC_COUNT] = {
 	[CIP_SFC_32000]  =  32000,
 	[CIP_SFC_44100]  =  44100,
 	[CIP_SFC_48000]  =  48000,
@@ -198,7 +198,7 @@ void amdtp_stream_set_parameters(struct amdtp_stream *s,
 	    WARN_ON(midi_channels > AMDTP_MAX_CHANNELS_FOR_MIDI))
 		return;
 
-	for (sfc = 0; sfc < sizeof(amdtp_rate_table); ++sfc)
+	for (sfc = 0; sfc < ARRAY_SIZE(amdtp_rate_table); ++sfc)
 		if (amdtp_rate_table[sfc] == rate)
 			goto sfc_found;
 	WARN_ON(1);