lib/string: Use strchr() in strpbrk()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 27 Jan 2023 15:51:35 +0000 (17:51 +0200)
committerKees Cook <keescook@chromium.org>
Fri, 27 Jan 2023 19:42:57 +0000 (11:42 -0800)
Use strchr() instead of open coding it as it's done elsewhere in
the same file. Either we will have similar to what it was or possibly
better performance in case architecture implements its own strchr().

Memory wise on x86_64 bloat-o-meter shows the following

  Function           old     new   delta
  strsep             111     102      -9
  Total: Before=2763, After=2754, chg -0.33%

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20230127155135.27153-1-andriy.shevchenko@linux.intel.com
lib/string.c

index 4fb566e..3d55ef8 100644 (file)
@@ -480,13 +480,11 @@ EXPORT_SYMBOL(strcspn);
  */
 char *strpbrk(const char *cs, const char *ct)
 {
-       const char *sc1, *sc2;
+       const char *sc;
 
-       for (sc1 = cs; *sc1 != '\0'; ++sc1) {
-               for (sc2 = ct; *sc2 != '\0'; ++sc2) {
-                       if (*sc1 == *sc2)
-                               return (char *)sc1;
-               }
+       for (sc = cs; *sc != '\0'; ++sc) {
+               if (strchr(ct, *sc))
+                       return (char *)sc;
        }
        return NULL;
 }