Message ID | 20200811140219.8412-1-trix@redhat.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 094dd0d730628448a80c7f5ba33038ecdddf5092 |
Delegated to: | Kalle Valo |
Headers | show |
Series | rndis_wlan: tighten check of rndis_query_oid return | expand |
trix@redhat.com wrote: > From: Tom Rix <trix@redhat.com> > > clang static analysis reports this problem > > rndis_wlan.c:3147:25: warning: Assigned value is garbage or undefined > wiphy->max_num_pmkids = le32_to_cpu(caps.num_pmkids); > ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > The setting of caps happens here, with a call to rndis_query_oid() > > retval = rndis_query_oid(usbdev, > if (retval >= 0) { > > Reviewing rndis_query_oid() shows that on success 0 is returned, > failure is otherwise. So the retval check is not tight enough. > So tighten the retval check. Similar problem in > rndis_wlan_get_caps(). > > Signed-off-by: Tom Rix <trix@redhat.com> Patch applied to wireless-drivers-next.git, thanks. 094dd0d73062 rndis_wlan: tighten check of rndis_query_oid return
diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c index 8852a1832951..75b5d545b49e 100644 --- a/drivers/net/wireless/rndis_wlan.c +++ b/drivers/net/wireless/rndis_wlan.c @@ -3112,7 +3112,7 @@ static int rndis_wlan_get_caps(struct usbnet *usbdev, struct wiphy *wiphy) retval = rndis_query_oid(usbdev, RNDIS_OID_802_11_NETWORK_TYPES_SUPPORTED, &networks_supported, &len); - if (retval >= 0) { + if (!retval) { n = le32_to_cpu(networks_supported.num_items); if (n > 8) n = 8; @@ -3137,7 +3137,7 @@ static int rndis_wlan_get_caps(struct usbnet *usbdev, struct wiphy *wiphy) retval = rndis_query_oid(usbdev, RNDIS_OID_802_11_CAPABILITY, &caps, &len); - if (retval >= 0) { + if (!retval) { netdev_dbg(usbdev->net, "RNDIS_OID_802_11_CAPABILITY -> len %d, " "ver %d, pmkids %d, auth-encr-pairs %d\n", le32_to_cpu(caps.length),