diff --git a/Modules/binascii.c b/Modules/binascii.c
index 23ce3f0..8b9c5f5 100644
--- a/Modules/binascii.c
+++ b/Modules/binascii.c
@@ -664,7 +664,7 @@
                 /* More than 3 in a row. Output RLE. */
                 *out_data++ = ch;
                 *out_data++ = RUNCHAR;
-                *out_data++ = inend-in;
+                *out_data++ = (unsigned char) inend-in;
                 in = inend-1;
             } else {
                 /* Less than 3. Output the byte itself */
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index 3973124..8c5c8ac 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -878,7 +878,7 @@
                             "in range(0, 256)");
             return -1;
         }
-        self->data[i] = v;
+        self->data[i] = (char) v;
         return 0;
     }
     else if (PySlice_Check(item)) {
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 73fab71..821fed2 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -385,7 +385,7 @@
     const int i1 = fd >> IOINFO_L2E;
     const int i2 = fd & ((1 << IOINFO_L2E) - 1);
 
-    static int sizeof_ioinfo = 0;
+    static size_t sizeof_ioinfo = 0;
 
     /* Determine the actual size of the ioinfo structure,
      * as used by the CRT loaded in memory
@@ -3655,8 +3655,8 @@
     char **argvlist;
     char **envlist;
     PyObject *res = NULL;
-    int mode, envc;
-    Py_ssize_t argc, i;
+    int mode;
+    Py_ssize_t argc, i, envc;
     Py_intptr_t spawnval;
     PyObject *(*getitem)(PyObject *, Py_ssize_t);
     Py_ssize_t lastarg = 0;
@@ -3841,7 +3841,8 @@
     char **argvlist;
     char **envlist;
     PyObject *res=NULL;
-    int mode, i, argc, envc;
+    int mode;
+    Py_ssize_t argc, i, envc;
     Py_intptr_t spawnval;
     PyObject *(*getitem)(PyObject *, Py_ssize_t);
     int lastarg = 0;
