os.environ contains PyUnicode instances and not PyString instances
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 5d65985..55ea3b9 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -3026,7 +3026,7 @@
         /* Omit Pseudo-Env Vars that Would Confuse Programs if Passed On */
         if (stricmp(k, "BEGINLIBPATH") != 0 && stricmp(k, "ENDLIBPATH") != 0) {
 #endif
-		len = PyString_Size(key) + PyString_Size(val) + 2;
+		len = PyUnicode_GetSize(key) + PyUnicode_GetSize(val) + 2;
 		p = PyMem_NEW(char, len);
 		if (p == NULL) {
 			PyErr_NoMemory();
@@ -3256,7 +3256,7 @@
 		{
 			goto fail_2;
 		}
-		len = PyString_Size(key) + PyString_Size(val) + 2;
+		len = PyUnicode_GetSize(key) + PyUnicode_GetSize(val) + 2;
 		p = PyMem_NEW(char, len);
 		if (p == NULL) {
 			PyErr_NoMemory();
@@ -3489,7 +3489,7 @@
 		{
 			goto fail_2;
 		}
-		len = PyString_Size(key) + PyString_Size(val) + 2;
+		len = PyUnicode_GetSize(key) + PyUnicode_GetSize(val) + 2;
 		p = PyMem_NEW(char, len);
 		if (p == NULL) {
 			PyErr_NoMemory();