mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Make sure hexdigest() returns str, not str8.
This commit is contained in:
parent
dc12288e11
commit
f895307a94
1 changed files with 6 additions and 11 deletions
|
@ -127,17 +127,10 @@ EVP_hexdigest(EVPobject *self, PyObject *unused)
|
|||
|
||||
EVP_MD_CTX_cleanup(&temp_ctx);
|
||||
|
||||
/* Create a new string */
|
||||
/* NOTE: not thread safe! modifying an already created string object */
|
||||
/* (not a problem because we hold the GIL by default) */
|
||||
retval = PyString_FromStringAndSize(NULL, digest_size * 2);
|
||||
if (!retval)
|
||||
return NULL;
|
||||
hex_digest = PyString_AS_STRING(retval);
|
||||
if (!hex_digest) {
|
||||
Py_DECREF(retval);
|
||||
return NULL;
|
||||
}
|
||||
/* Allocate a new buffer */
|
||||
hex_digest = PyMem_Malloc(digest_size * 2 + 1);
|
||||
if (!hex_digest)
|
||||
return PyErr_NoMemory();
|
||||
|
||||
/* Make hex version of the digest */
|
||||
for(i=j=0; i<digest_size; i++) {
|
||||
|
@ -149,6 +142,8 @@ EVP_hexdigest(EVPobject *self, PyObject *unused)
|
|||
c = (c>9) ? c+'a'-10 : c + '0';
|
||||
hex_digest[j++] = c;
|
||||
}
|
||||
retval = PyUnicode_FromStringAndSize(hex_digest, digest_size * 2);
|
||||
PyMem_Free(hex_digest);
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue