[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+UBctBLWF14TsgT4OfanmnxTqbm9mNxyHhjJqpFo7c+kdjDsw@mail.gmail.com>
Date: Tue, 4 Jul 2023 16:50:45 -0700
From: Yu Hao <yhao016@....edu>
To: kvalo@...nel.org, keescook@...omium.org, gustavoars@...nel.org,
Jason@...c4.com, linux-wireless@...r.kernel.org,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: [PATCH] net: wireless: cisco: Fix possible uninit bug
The struct cap_rid should be initialized by function readCapabilityRid.
However, there is not return value check. Iit is possible that
the function readCapabilityRid returns error code and cap_rid.softCap
is not initialized. But there is a read later for this field.
Signed-off-by: Yu Hao <yhao016@....edu>
---
drivers/net/wireless/cisco/airo.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/cisco/airo.c
b/drivers/net/wireless/cisco/airo.c
index 7c4cc5f5e1eb..b3736d76a5d5 100644
--- a/drivers/net/wireless/cisco/airo.c
+++ b/drivers/net/wireless/cisco/airo.c
@@ -6950,8 +6950,11 @@ static int airo_get_range(struct net_device *dev,
CapabilityRid cap_rid; /* Card capability info */
int i;
int k;
+ int status;
- readCapabilityRid(local, &cap_rid, 1);
+ status = readCapabilityRid(local, &cap_rid, 1);
+ if (status != SUCCESS)
+ return ERROR;
dwrq->length = sizeof(struct iw_range);
memset(range, 0, sizeof(*range));
--
2.34.1
Powered by blists - more mailing lists