Issue #9422:  Fix memory leak when re-initializing a struct.Struct object.
diff --git a/Modules/_struct.c b/Modules/_struct.c
index d55ce0f..f85d562 100644
--- a/Modules/_struct.c
+++ b/Modules/_struct.c
@@ -1247,6 +1247,9 @@
         PyErr_NoMemory();
         return -1;
     }
+    /* Free any s_codes value left over from a previous initialization. */
+    if (self->s_codes != NULL)
+        PyMem_FREE(self->s_codes);
     self->s_codes = codes;
 
     s = fmt;