[2.7] bpo-34400: Fix more undefined behavior in parsetok.c (GH-8833). (GH-8849)

(cherry picked from commit 3e26e42c905852394fa136f1cc564dac98b56166)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
diff --git a/Parser/parsetok.c b/Parser/parsetok.c
index 3189873..a5e9222 100644
--- a/Parser/parsetok.c
+++ b/Parser/parsetok.c
@@ -189,10 +189,12 @@
 
 #ifdef PY_PARSER_REQUIRES_FUTURE_KEYWORD
 #endif
-        if (a >= tok->line_start)
+        if (a != NULL && a >= tok->line_start) {
             col_offset = a - tok->line_start;
-        else
+        }
+        else {
             col_offset = -1;
+        }
 
         if ((err_ret->error =
              PyParser_AddToken(ps, (int)type, str, tok->lineno, col_offset,