OSDN Git Service

staging: rtl8192u: Fix potential infinite loop
authorColin Ian King <colin.king@canonical.com>
Wed, 7 Apr 2021 15:03:08 +0000 (16:03 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 7 Apr 2021 15:14:38 +0000 (17:14 +0200)
The for-loop iterates with a u8 loop counter i and compares this
with the loop upper limit of riv->ieee80211->LinkDetectInfo.SlotNum
that is a u16 type. There is a potential infinite loop if SlotNum
is larger than the u8 loop counter. Fix this by making the loop
counter the same type as SlotNum.

Addresses-Coverity: ("Infinite loop")
Fixes: 8fc8598e61f6 ("Staging: Added Realtek rtl8192u driver to staging")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Link: https://lore.kernel.org/r/20210407150308.496623-1-colin.king@canonical.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8192u/r8192U_core.c

index f48c042..f48186a 100644 (file)
@@ -3210,7 +3210,7 @@ static void rtl819x_update_rxcounts(struct r8192_priv *priv, u32 *TotalRxBcnNum,
                             u32 *TotalRxDataNum)
 {
        u16                     SlotIndex;
-       u                     i;
+       u16                     i;
 
        *TotalRxBcnNum = 0;
        *TotalRxDataNum = 0;