mirror of
https://github.com/PyMySQL/mysqlclient.git
synced 2026-03-13 08:00:02 +08:00
Fix a reference leak in store_result and use_result if result object initialization fails. (#298)
This commit is contained in:
committed by
INADA Naoki
parent
c2e5ff7bd3
commit
41581254f8
@@ -1865,8 +1865,10 @@ _mysql_ConnectionObject_store_result(
|
||||
if (!kwarglist) goto error;
|
||||
r = MyAlloc(_mysql_ResultObject, _mysql_ResultObject_Type);
|
||||
if (!r) goto error;
|
||||
if (_mysql_ResultObject_Initialize(r, arglist, kwarglist))
|
||||
if (_mysql_ResultObject_Initialize(r, arglist, kwarglist)) {
|
||||
Py_DECREF(r);
|
||||
goto error;
|
||||
}
|
||||
result = (PyObject *) r;
|
||||
if (!(r->result)) {
|
||||
Py_DECREF(result);
|
||||
@@ -1924,9 +1926,11 @@ _mysql_ConnectionObject_use_result(
|
||||
if (!kwarglist) goto error;
|
||||
r = MyAlloc(_mysql_ResultObject, _mysql_ResultObject_Type);
|
||||
if (!r) goto error;
|
||||
result = (PyObject *) r;
|
||||
if (_mysql_ResultObject_Initialize(r, arglist, kwarglist))
|
||||
if (_mysql_ResultObject_Initialize(r, arglist, kwarglist)) {
|
||||
Py_DECREF(r);
|
||||
goto error;
|
||||
}
|
||||
result = (PyObject *) r;
|
||||
if (!(r->result)) {
|
||||
Py_DECREF(result);
|
||||
Py_INCREF(Py_None);
|
||||
|
||||
Reference in New Issue
Block a user