@@ -109,17 +109,18 @@ newEVPobject(PyObject *name)
|
109 | 109 | return NULL; |
110 | 110 | } |
111 | 111 | |
| 112 | +/* save the name for .name to return */ |
| 113 | +Py_INCREF(name); |
| 114 | +retval->name = name; |
| 115 | +retval->lock = NULL; |
| 116 | + |
112 | 117 | retval->ctx = EVP_MD_CTX_new(); |
113 | 118 | if (retval->ctx == NULL) { |
| 119 | +Py_DECREF(retval); |
114 | 120 | PyErr_NoMemory(); |
115 | 121 | return NULL; |
116 | 122 | } |
117 | 123 | |
118 | | -/* save the name for .name to return */ |
119 | | -Py_INCREF(name); |
120 | | -retval->name = name; |
121 | | -retval->lock = NULL; |
122 | | - |
123 | 124 | return retval; |
124 | 125 | } |
125 | 126 | |
@@ -182,6 +183,7 @@ EVP_copy_impl(EVPobject *self)
|
182 | 183 | return NULL; |
183 | 184 | |
184 | 185 | if (!locked_EVP_MD_CTX_copy(newobj->ctx, self)) { |
| 186 | +Py_DECREF(newobj); |
185 | 187 | return _setException(PyExc_ValueError); |
186 | 188 | } |
187 | 189 | return (PyObject *)newobj; |
|