Reject float as uid or gid.
A regression was introduced in the commit for issue issue #4591.
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 7e36df5..91352d4 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -437,7 +437,13 @@
 _Py_Uid_Converter(PyObject *obj, void *p)
 {
     int overflow;
-    long result = PyLong_AsLongAndOverflow(obj, &overflow);
+    long result;
+    if (PyFloat_Check(obj)) {
+        PyErr_SetString(PyExc_TypeError,
+                        "integer argument expected, got float");
+        return 0;
+    }
+    result = PyLong_AsLongAndOverflow(obj, &overflow);
     if (overflow < 0)
         goto OverflowDown;
     if (!overflow && result == -1) {
@@ -485,7 +491,13 @@
 _Py_Gid_Converter(PyObject *obj, void *p)
 {
     int overflow;
-    long result = PyLong_AsLongAndOverflow(obj, &overflow);
+    long result;
+    if (PyFloat_Check(obj)) {
+        PyErr_SetString(PyExc_TypeError,
+                        "integer argument expected, got float");
+        return 0;
+    }
+    result = PyLong_AsLongAndOverflow(obj, &overflow);
     if (overflow < 0)
         goto OverflowDown;
     if (!overflow && result == -1) {