2024-05-10 15:59:44

by Dan Carpenter

[permalink] [raw]
Subject: [PATCH] wifi: iwlwifi: mvm: fix uninitialized variables in debugfs code

The sscanf() function doesn't return negatives, it returns the number
of the number of input items successfully matched. Fix the error
checking to avoid some uninitialized variable bugs.

Fixes: e5bf75dc46e1 ("wifi: iwlwifi: mvm: add a debugfs for (un)blocking EMLSR")
Signed-off-by: Dan Carpenter <[email protected]>
---
drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c
index 17c97dfbc62a..88e78c798017 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c
@@ -762,11 +762,9 @@ static ssize_t iwl_dbgfs_esr_disable_reason_write(struct ieee80211_vif *vif,
struct iwl_mvm *mvm = mvmvif->mvm;
u32 reason;
u8 block;
- int ret;

- ret = sscanf(buf, "%u %hhu", &reason, &block);
- if (ret < 0)
- return ret;
+ if (sscanf(buf, "%u %hhu", &reason, &block) != 2)
+ return -EINVAL;

if (hweight16(reason) != 1 || !(reason & IWL_MVM_BLOCK_ESR_REASONS))
return -EINVAL;
--
2.43.0