bpo-40883: Fix memory leak in fstring_compile_expr in parse_string.c (GH-20667)

(cherry picked from commit a54096e30523534e8eebb8dc1011b4536ed237a8)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
diff --git a/Parser/pegen/parse_string.c b/Parser/pegen/parse_string.c
index e24ecc5..efe82df 100644
--- a/Parser/pegen/parse_string.c
+++ b/Parser/pegen/parse_string.c
@@ -604,6 +604,7 @@
 
     struct tok_state* tok = PyTokenizer_FromString(str, 1);
     if (tok == NULL) {
+        PyMem_RawFree(str);
         return NULL;
     }
     Py_INCREF(p->tok->filename);
@@ -629,6 +630,7 @@
     result = expr;
 
 exit:
+    PyMem_RawFree(str);
     _PyPegen_Parser_Free(p2);
     PyTokenizer_Free(tok);
     return result;