From: Dan Carpenter <dan.carpen...@oracle.com>

The &mvm->tof_data.range_req.ap[] array has IWL_MVM_TOF_MAX_APS elements
so the check should be >= instead of >.  Also the test can underflow so
I have changed "i" to unsigned.

Fixes: ce7929186a39 ('wlwifi: mvm: add basic Time of Flight (802.11mc FTM) 
support')
Signed-off-by: Dan Carpenter <dan.carpen...@oracle.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumb...@intel.com>
---
 drivers/net/wireless/iwlwifi/mvm/debugfs-vif.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/mvm/debugfs-vif.c 
b/drivers/net/wireless/iwlwifi/mvm/debugfs-vif.c
index ddb1c84..383a316 100644
--- a/drivers/net/wireless/iwlwifi/mvm/debugfs-vif.c
+++ b/drivers/net/wireless/iwlwifi/mvm/debugfs-vif.c
@@ -911,9 +911,9 @@ static ssize_t iwl_dbgfs_tof_range_request_write(struct 
ieee80211_vif *vif,
                int size = sizeof(struct iwl_tof_range_req_ap_entry);
                u16 burst_period;
                u8 *mac = ap.bssid;
-               int i;
+               unsigned int i;
 
-               if (sscanf(data, "%d %hhd %hhx %hhx"
+               if (sscanf(data, "%u %hhd %hhx %hhx"
                           "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx"
                           "%hhx %hhx %hx"
                           "%hhx %hhx %x"
@@ -929,7 +929,7 @@ static ssize_t iwl_dbgfs_tof_range_request_write(struct 
ieee80211_vif *vif,
                        ret = -EINVAL;
                        goto out;
                }
-               if (i > IWL_MVM_TOF_MAX_APS) {
+               if (i >= IWL_MVM_TOF_MAX_APS) {
                        IWL_ERR(mvm, "Invalid AP index %d\n", i);
                        ret = -EINVAL;
                        goto out;
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to