[3.6] bpo-30769: Fix reference leak introduced in 77703942c5
(GH-2416) (#2425)
New error condition paths were introduced, which did not decrement
`key2` and `val2` objects. Therefore, decrement references before
jumping to the error label.
Signed-off-by: Eric N. Vander Weele <ericvw@gmail.com>
(cherry picked from commit a7874c73c0
)
This commit is contained in:
parent
8047f02a4b
commit
2d348f7a72
|
@ -1590,6 +1590,7 @@ Andi Vajda
|
||||||
Case Van Horsen
|
Case Van Horsen
|
||||||
John Mark Vandenberg
|
John Mark Vandenberg
|
||||||
Kyle VanderBeek
|
Kyle VanderBeek
|
||||||
|
Eric N. Vander Weele
|
||||||
Andrew Vant
|
Andrew Vant
|
||||||
Atul Varma
|
Atul Varma
|
||||||
Dmitry Vasiliev
|
Dmitry Vasiliev
|
||||||
|
|
|
@ -4823,6 +4823,8 @@ parse_envlist(PyObject* env, Py_ssize_t *envc_ptr)
|
||||||
PyUnicode_FindChar(key2, '=', 1, PyUnicode_GET_LENGTH(key2), 1) != -1)
|
PyUnicode_FindChar(key2, '=', 1, PyUnicode_GET_LENGTH(key2), 1) != -1)
|
||||||
{
|
{
|
||||||
PyErr_SetString(PyExc_ValueError, "illegal environment variable name");
|
PyErr_SetString(PyExc_ValueError, "illegal environment variable name");
|
||||||
|
Py_DECREF(key2);
|
||||||
|
Py_DECREF(val2);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
keyval = PyUnicode_FromFormat("%U=%U", key2, val2);
|
keyval = PyUnicode_FromFormat("%U=%U", key2, val2);
|
||||||
|
@ -4837,6 +4839,8 @@ parse_envlist(PyObject* env, Py_ssize_t *envc_ptr)
|
||||||
strchr(PyBytes_AS_STRING(key2) + 1, '=') != NULL)
|
strchr(PyBytes_AS_STRING(key2) + 1, '=') != NULL)
|
||||||
{
|
{
|
||||||
PyErr_SetString(PyExc_ValueError, "illegal environment variable name");
|
PyErr_SetString(PyExc_ValueError, "illegal environment variable name");
|
||||||
|
Py_DECREF(key2);
|
||||||
|
Py_DECREF(val2);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
keyval = PyBytes_FromFormat("%s=%s", PyBytes_AS_STRING(key2),
|
keyval = PyBytes_FromFormat("%s=%s", PyBytes_AS_STRING(key2),
|
||||||
|
|
Loading…
Reference in New Issue