[PATCH RFC] net: wireless: cisco: Fix possible uninit bug

Yu Hao posted 1 patch 2 years, 7 months ago
drivers/net/wireless/cisco/airo.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
[PATCH RFC] net: wireless: cisco: Fix possible uninit bug
Posted by Yu Hao 2 years, 7 months ago
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@ucr.edu>
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
---
 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..391ac1e9e261 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 -EINVAL;
 
 	dwrq->length = sizeof(struct iw_range);
 	memset(range, 0, sizeof(*range));
-- 
2.34.1