Skip to content

Commit 7522d3b

Browse files
pablogsalstratakis
authored andcommitted
bpo-40645: Fix reference leak in the _hashopenssl extension (pythonGH-25063)
1 parent 10c1b5b commit 7522d3b

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Fix reference leak in the :mod:`_hashopenssl` extension. Patch by Pablo
2+
Galindo.

Modules/_hashopenssl.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -871,7 +871,7 @@ EVP_new_impl(PyObject *module, PyObject *name_obj, PyObject *data_obj,
871871
/*[clinic end generated code: output=ddd5053f92dffe90 input=c24554d0337be1b0]*/
872872
{
873873
Py_buffer view = { 0 };
874-
PyObject *ret_obj;
874+
PyObject *ret_obj = NULL;
875875
char *name;
876876
const EVP_MD *digest = NULL;
877877

@@ -885,13 +885,14 @@ EVP_new_impl(PyObject *module, PyObject *name_obj, PyObject *data_obj,
885885

886886
digest = py_digest_by_name(name);
887887
if (digest == NULL) {
888-
return NULL;
888+
goto exit;
889889
}
890890

891891
ret_obj = EVPnew(module, digest,
892892
(unsigned char*)view.buf, view.len,
893893
usedforsecurity);
894894

895+
exit:
895896
if (data_obj)
896897
PyBuffer_Release(&view);
897898
return ret_obj;

0 commit comments

Comments
 (0)