]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.954 v7.3.954
authorBram Moolenaar <Bram@vim.org>
Wed, 15 May 2013 14:11:50 +0000 (16:11 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 15 May 2013 14:11:50 +0000 (16:11 +0200)
Problem:    No check if PyObject_IsTrue fails.
Solution:   Add a check for -1 value. (ZyX)

src/if_py_both.h
src/version.c

index 9e6c6752b47a74569a6a2865e5b809c5145d52f5..4905bed68d0493f5abdd889c4102933d8d762d38 100644 (file)
@@ -700,7 +700,10 @@ DictionarySetattr(PyObject *self, char *name, PyObject *val)
        }
        else
        {
-           if (PyObject_IsTrue(val))
+           int         istrue = PyObject_IsTrue(val);
+           if (istrue == -1)
+               return -1;
+           else if (istrue)
                this->dict->dv_lock = VAR_LOCKED;
            else
                this->dict->dv_lock = 0;
@@ -1201,7 +1204,10 @@ ListSetattr(PyObject *self, char *name, PyObject *val)
        }
        else
        {
-           if (PyObject_IsTrue(val))
+           int         istrue = PyObject_IsTrue(val);
+           if (istrue == -1)
+               return -1;
+           else if (istrue)
                this->list->lv_lock = VAR_LOCKED;
            else
                this->list->lv_lock = 0;
@@ -1479,7 +1485,10 @@ OptionsAssItem(OptionsObject *this, PyObject *keyObject, PyObject *valObject)
 
     if (flags & SOPT_BOOL)
     {
-       r = set_option_value_for(key, PyObject_IsTrue(valObject), NULL,
+       int     istrue = PyObject_IsTrue(valObject);
+       if (istrue == -1)
+           return -1;
+       r = set_option_value_for(key, istrue, NULL,
                                opt_flags, this->opt_type, this->from);
     }
     else if (flags & SOPT_NUM)
index 5e472cb7c5aebaf63c2b08205de4e55cf6b1338a..6d3e7850fb410384f289e80274bfd0940ee71a17 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    954,
 /**/
     953,
 /**/