closes bpo-38402: Check error of primitive crypt/crypt_r. (GH-16599)
Checks also for encryption algorithms methods not supported in different
OSs.
Signed-off-by: Antonio Gutierrez <chibby0ne@gmail.com>
diff --git a/Modules/_cryptmodule.c b/Modules/_cryptmodule.c
index 5d03f45..00c1f4f 100644
--- a/Modules/_cryptmodule.c
+++ b/Modules/_cryptmodule.c
@@ -42,6 +42,9 @@
#else
crypt_result = crypt(word, salt);
#endif
+ if (crypt_result == NULL) {
+ return PyErr_SetFromErrno(PyExc_OSError);
+ }
return Py_BuildValue("s", crypt_result);
}