Browse Source

event: Fix memory leak getting future result in some cases

rdb 4 years ago
parent
commit
e348d216e5
1 changed files with 1 additions and 1 deletions
  1. 1 1
      panda/src/event/asyncFuture_ext.cxx

+ 1 - 1
panda/src/event/asyncFuture_ext.cxx

@@ -99,11 +99,11 @@ static PyObject *get_done_result(const AsyncFuture *future) {
           ((void *)value, Dtool_ParamValueBase, false, false, type.get_index());
         if (wrap != nullptr) {
           PyObject *value = PyObject_GetAttrString(wrap, "value");
+          Py_DECREF(wrap);
           if (value != nullptr) {
             return value;
           }
           PyErr_Restore(nullptr, nullptr, nullptr);
-          Py_DECREF(wrap);
         }
       }