Refuse to compute digests from PyUnicode (str) instances.
This breaks a few things that I'll patch up in a minute.
diff --git a/Modules/_hashopenssl.c b/Modules/_hashopenssl.c
index 9ee1b3d..ad38cfd 100644
--- a/Modules/_hashopenssl.c
+++ b/Modules/_hashopenssl.c
@@ -153,12 +153,12 @@
}
#define MY_GET_BUFFER_VIEW_OR_ERROUT(obj, viewp) do { \
- if (!PyObject_CheckBuffer((obj))) { \
+ if (PyUnicode_Check(obj) || !PyObject_CheckBuffer((obj))) { \
PyErr_SetString(PyExc_TypeError, \
"object supporting the buffer API required"); \
return NULL; \
} \
- if (PyObject_GetBuffer((obj), (viewp), PyBUF_CHARACTER) == -1) { \
+ if (PyObject_GetBuffer((obj), (viewp), PyBUF_SIMPLE) == -1) { \
return NULL; \
} \
if ((viewp)->ndim > 1) { \