]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.1098 v7.3.1098
authorBram Moolenaar <Bram@vim.org>
Sun, 2 Jun 2013 16:07:37 +0000 (18:07 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 2 Jun 2013 16:07:37 +0000 (18:07 +0200)
Problem:    Python: Possible memory leaks
Solution:   Add Py_XDECREF() calls. (ZyX)

src/if_py_both.h
src/version.c

index eedbf1ca2d3c8e349613fb07e571f695ba76678f..21bf069c8c37d9f49bc6a9bff29e08d675d1bb0f 100644 (file)
@@ -1017,6 +1017,7 @@ _DictionaryItem(DictionaryObject *self, PyObject *args, int flags)
     if (*key == NUL)
     {
        RAISE_NO_EMPTY_KEYS;
+       Py_XDECREF(todecref);
        return NULL;
     }
 
@@ -1160,6 +1161,7 @@ DictionaryAssItem(DictionaryObject *self, PyObject *keyObject, PyObject *valObje
 
     if (!(key = StringToChars(keyObject, &todecref)))
        return -1;
+
     if (*key == NUL)
     {
        RAISE_NO_EMPTY_KEYS;
@@ -2216,9 +2218,11 @@ OptionsItem(OptionsObject *self, PyObject *keyObject)
 
     if (!(key = StringToChars(keyObject, &todecref)))
        return NULL;
+
     if (*key == NUL)
     {
        RAISE_NO_EMPTY_KEYS;
+       Py_XDECREF(todecref);
        return NULL;
     }
 
@@ -2349,9 +2353,11 @@ OptionsAssItem(OptionsObject *self, PyObject *keyObject, PyObject *valObject)
 
     if (!(key = StringToChars(keyObject, &todecref)))
        return -1;
+
     if (*key == NUL)
     {
        RAISE_NO_EMPTY_KEYS;
+       Py_XDECREF(todecref);
        return -1;
     }
 
@@ -4568,6 +4574,7 @@ pydict_to_tv(PyObject *obj, typval_T *tv, PyObject *lookup_dict)
            dict_unref(dict);
            return -1;
        }
+
        if (*key == NUL)
        {
            dict_unref(dict);
@@ -4651,6 +4658,7 @@ pymap_to_tv(PyObject *obj, typval_T *tv, PyObject *lookup_dict)
            dict_unref(dict);
            return -1;
        }
+
        if (*key == NUL)
        {
            Py_DECREF(keyObject);
index 03f14b93f43cc5fb31d0ffa873305765a7f47302..fad5ada8a6b52ef4d3c249b76e3bef5e2dceb916 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1098,
 /**/
     1097,
 /**/