]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: ray_cs: Utilize strnlen() in parse_addr()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 3 Jun 2022 16:44:13 +0000 (19:44 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jul 2023 06:37:09 +0000 (08:37 +0200)
[ Upstream commit 9e8e9187673cb24324f9165dd47b2b28f60b0b10 ]

Instead of doing simple operations and using an additional variable on stack,
utilize strnlen() and reuse len variable.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220603164414.48436-1-andriy.shevchenko@linux.intel.com
Stable-dep-of: 4f8d66a9fb2e ("wifi: ray_cs: Fix an error handling path in ray_probe()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/ray_cs.c

index 3836d6ac53049e7335d54562f3717a7ed67eb9a6..29dd303a7beae5878488de6ecd3d7e6f2276f1a4 100644 (file)
@@ -1641,31 +1641,29 @@ static void authenticate_timeout(struct timer_list *t)
 /*===========================================================================*/
 static int parse_addr(char *in_str, UCHAR *out)
 {
+       int i, k;
        int len;
-       int i, j, k;
        int status;
 
        if (in_str == NULL)
                return 0;
-       if ((len = strlen(in_str)) < 2)
+       len = strnlen(in_str, ADDRLEN * 2 + 1) - 1;
+       if (len < 1)
                return 0;
        memset(out, 0, ADDRLEN);
 
        status = 1;
-       j = len - 1;
-       if (j > 12)
-               j = 12;
        i = 5;
 
-       while (j > 0) {
-               if ((k = hex_to_bin(in_str[j--])) != -1)
+       while (len > 0) {
+               if ((k = hex_to_bin(in_str[len--])) != -1)
                        out[i] = k;
                else
                        return 0;
 
-               if (j == 0)
+               if (len == 0)
                        break;
-               if ((k = hex_to_bin(in_str[j--])) != -1)
+               if ((k = hex_to_bin(in_str[len--])) != -1)
                        out[i] += k << 4;
                else
                        return 0;