Fix typos in docs, comments and test assert messages (#14872)

diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index 735c13d..054276d 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -2119,7 +2119,7 @@
         /* How many bytes do we need?  There are nbits >> 3 full
          * bytes of data, and nbits & 7 leftover bits.  If there
          * are any leftover bits, then we clearly need another
-         * byte.  Wnat's not so obvious is that we *probably*
+         * byte.  What's not so obvious is that we *probably*
          * need another byte even if there aren't any leftovers:
          * the most-significant bit of the most-significant byte
          * acts like a sign bit, and it's usually got a sense
diff --git a/Modules/_xxtestfuzz/fuzzer.c b/Modules/_xxtestfuzz/fuzzer.c
index 2446e71..dae1eae 100644
--- a/Modules/_xxtestfuzz/fuzzer.c
+++ b/Modules/_xxtestfuzz/fuzzer.c
@@ -210,7 +210,7 @@
 
 /* Some random patterns used to test re.match.
    Be careful not to add catostraphically slow regexes here, we want to
-   excercise the matching code without causing timeouts.*/
+   exercise the matching code without causing timeouts.*/
 static const char* regex_patterns[] = {
     ".", "^", "abc", "abc|def", "^xxx$", "\\b", "()", "[a-zA-Z0-9]",
     "abc+", "[^A-Z]", "[x]", "(?=)", "a{z}", "a+b", "a*?", "a??", "a+?",