mirror of https://gitee.com/openkylin/linux.git
rndis_wlan: tighten check of rndis_query_oid return
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> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/20200811140219.8412-1-trix@redhat.com
This commit is contained in:
parent
d2ab7f00f4
commit
094dd0d730
|
@ -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),
|
||||
|
|
Loading…
Reference in New Issue