mac80211: initialize variable have_higher_than_11mbit
authorTom Rix <trix@redhat.com>
Thu, 23 Dec 2021 16:28:48 +0000 (08:28 -0800)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 4 Jan 2022 14:02:52 +0000 (15:02 +0100)
Clang static analysis reports this warnings

mlme.c:5332:7: warning: Branch condition evaluates to a
  garbage value
    have_higher_than_11mbit)
    ^~~~~~~~~~~~~~~~~~~~~~~

have_higher_than_11mbit is only set to true some of the time in
ieee80211_get_rates() but is checked all of the time.  So
have_higher_than_11mbit needs to be initialized to false.

Fixes: 5d6a1b069b7f ("mac80211: set basic rates earlier")
Signed-off-by: Tom Rix <trix@redhat.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://lore.kernel.org/r/20211223162848.3243702-1-trix@redhat.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mlme.c

index 37f7d97..3147ca8 100644 (file)
@@ -5265,7 +5265,7 @@ static int ieee80211_prep_connection(struct ieee80211_sub_if_data *sdata,
         */
        if (new_sta) {
                u32 rates = 0, basic_rates = 0;
-               bool have_higher_than_11mbit;
+               bool have_higher_than_11mbit = false;
                int min_rate = INT_MAX, min_rate_index = -1;
                const struct cfg80211_bss_ies *ies;
                int shift = ieee80211_vif_get_shift(&sdata->vif);