Raise KeyError instead of OverflowError when getpwuid's argument is out of
uid_t range.
diff --git a/Modules/pwdmodule.c b/Modules/pwdmodule.c
index 632ffe3..285fd9c 100644
--- a/Modules/pwdmodule.c
+++ b/Modules/pwdmodule.c
@@ -106,8 +106,12 @@
 {
     uid_t uid;
     struct passwd *p;
-    if (!PyArg_ParseTuple(args, "O&:getpwuid", _Py_Uid_Converter, &uid))
+    if (!PyArg_ParseTuple(args, "O&:getpwuid", _Py_Uid_Converter, &uid)) {
+        if (PyErr_ExceptionMatches(PyExc_OverflowError))
+            PyErr_Format(PyExc_KeyError,
+                         "getpwuid(): uid not found");
         return NULL;
+    }
     if ((p = getpwuid(uid)) == NULL) {
         PyObject *uid_obj = _PyLong_FromUid(uid);
         if (uid_obj == NULL)