Re: [PATCH 2/3] staging: r8188eu: refactor rtw_ch2freq()

From: Michael Straube
Date: Sun Feb 20 2022 - 11:30:15 EST


On 2/20/22 17:20, Pavel Skripkin wrote:
Hi Michael,

On 2/20/22 18:48, Michael Straube wrote:
-static int ch_freq_map_num = ARRAY_SIZE(ch_freq_map);
-
  u32 rtw_ch2freq(u32 channel)
  {
-    u8    i;
-    u32    freq = 0;
-
-    for (i = 0; i < ch_freq_map_num; i++) {
-        if (channel == ch_freq_map[i].channel) {
-            freq = ch_freq_map[i].frequency;
-                break;
-        }
-    }
-    if (i == ch_freq_map_num)
-        freq = 2412;
-
-    return freq;
+    return ch_freq_map[channel - 1];
  }

What if channel has wrong value? The old code returned some default value, but with new one we will hit OOB.


Hi Pavel,

thanks for reviewing. Yeah, I thought about adding a check for channel
value between 1 and 14. But I did not add it because I think if this
function will ever be called with channel < 1 or channel > 14, then the
calling code must be wrong.

Would be nice to see what others think about this.

Thanks,
Michael