summaryrefslogtreecommitdiff
path: root/Modules/_operator.c
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2020-05-28 14:09:38 +0200
committerGitHub <noreply@github.com>2020-05-28 05:09:38 -0700
commit8183e11d87388e4e44e3242c42085b87a878f781 (patch)
tree0b0302ad36f4a4b67a64eb68dc5b280ce84f90f7 /Modules/_operator.c
parentd23ee5d652ba69a32504dac43131be782b6afdc7 (diff)
downloadcpython-git-8183e11d87388e4e44e3242c42085b87a878f781.tar.gz
[3.9] bpo-40791: Use CRYPTO_memcmp() for compare_digest (GH-20456) (GH-20461)
hashlib.compare_digest uses OpenSSL's CRYPTO_memcmp() function when OpenSSL is available. Note: The _operator module is a builtin module. I don't want to add libcrypto dependency to libpython. Therefore I duplicated the wrapper function and added a copy to _hashopenssl.c.. (cherry picked from commit db5aed931f8a617f7b63e773f62db468fe9c5ca1) Co-authored-by: Christian Heimes <christian@python.org>
Diffstat (limited to 'Modules/_operator.c')
-rw-r--r--Modules/_operator.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/Modules/_operator.c b/Modules/_operator.c
index 19026b6c38..8a54829e5b 100644
--- a/Modules/_operator.c
+++ b/Modules/_operator.c
@@ -785,6 +785,8 @@ _operator_length_hint_impl(PyObject *module, PyObject *obj,
return PyObject_LengthHint(obj, default_value);
}
+/* NOTE: Keep in sync with _hashopenssl.c implementation. */
+
/*[clinic input]
_operator._compare_digest = _operator.eq