From: Rebecca Mckeever <remckee0@gmail.com>
To: outreachy@lists.linux.dev
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
Rebecca Mckeever <remckee0@gmail.com>
Subject: [PATCH] staging: rtl8192u: compare strcmp result to zero
Date: Sat, 16 Apr 2022 05:24:34 -0500 [thread overview]
Message-ID: <20220416102434.97567-1-remckee0@gmail.com> (raw)
Add " == 0" to the condition in both else if branches to address a
possible bug. strcmp returns 0 when its arguments are equal, which
evaluates to false, often leading to errors when used in if statements.
Currently, the statement in the first else if branch does not execute
when its arguments are equal, but it does execute when crypt->ops->name
equals any string other than "WEP" or "TKIP".
Similarly, the second else if branch does not execute when its arguments
are equal, and it only executes when crypt->ops->name equals "TKIP".
The else branch never executes.
It is unlikely that this is working as intended.
Signed-off-by: Rebecca Mckeever <remckee0@gmail.com>
---
There is a similiar issue in
drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
but I'm not sure if it's incorrect. The strcmp on line 2847 isn't
negated, but the ones on lines 2851, 2853, and 2855 are.
2845 /* IPW HW cannot build TKIP MIC, host decryption still needed. */
2846 if (!(ieee->host_encrypt || ieee->host_decrypt) &&
2847 strcmp(param->u.crypt.alg, "TKIP"))
2848 goto skip_host_crypt;
2849
2850 //set WEP40 first, it will be modified according to WEP104 or WEP40 at other place
2851 if (!strcmp(param->u.crypt.alg, "WEP"))
2852 module = "ieee80211_crypt_wep";
2853 else if (!strcmp(param->u.crypt.alg, "TKIP"))
2854 module = "ieee80211_crypt_tkip";
2855 else if (!strcmp(param->u.crypt.alg, "CCMP"))
2856 module = "ieee80211_crypt_ccmp";
drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c
index 9885917b9199..d6829cf6f7e3 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c
@@ -688,9 +688,9 @@ int ieee80211_wx_get_encode_ext(struct ieee80211_device *ieee,
} else {
if (strcmp(crypt->ops->name, "WEP") == 0)
ext->alg = IW_ENCODE_ALG_WEP;
- else if (strcmp(crypt->ops->name, "TKIP"))
+ else if (strcmp(crypt->ops->name, "TKIP") == 0)
ext->alg = IW_ENCODE_ALG_TKIP;
- else if (strcmp(crypt->ops->name, "CCMP"))
+ else if (strcmp(crypt->ops->name, "CCMP") == 0)
ext->alg = IW_ENCODE_ALG_CCMP;
else
return -EINVAL;
--
2.32.0
next reply other threads:[~2022-04-16 10:25 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-16 10:24 Rebecca Mckeever [this message]
2022-04-20 9:42 ` [PATCH] staging: rtl8192u: compare strcmp result to zero Dan Carpenter
2022-04-21 1:16 ` Rebecca Mckeever
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220416102434.97567-1-remckee0@gmail.com \
--to=remckee0@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=outreachy@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.