diff --git a/src/if_py_both.h b/src/if_py_both.h index 5e12638f5e4a4..c8a7fca7f8d1b 100644 --- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -799,14 +799,14 @@ DictionaryItem(PyObject *self, PyObject *keyObject) di = dict_find(((DictionaryObject *) (self))->dict, key, -1); + DICTKEY_UNREF + if (di == NULL) { PyErr_SetString(PyExc_IndexError, _("no such key in dictionary")); return NULL; } - DICTKEY_UNREF - return ConvertToPyObject(&di->di_tv); } @@ -835,6 +835,7 @@ DictionaryAssItem(PyObject *self, PyObject *keyObject, PyObject *valObject) if (di == NULL) { + DICTKEY_UNREF PyErr_SetString(PyExc_IndexError, _("no such key in dictionary")); return -1; } @@ -859,6 +860,7 @@ DictionaryAssItem(PyObject *self, PyObject *keyObject, PyObject *valObject) if (dict_add(d, di) == FAIL) { + DICTKEY_UNREF vim_free(di); PyErr_SetVim(_("failed to add key to dictionary")); return -1; diff --git a/src/version.c b/src/version.c index 6ac25907c23a7..4fb2743957480 100644 --- a/src/version.c +++ b/src/version.c @@ -719,6 +719,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 670, /**/ 669, /**/