summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2013-05-15 16:11:50 +0200
committerBram Moolenaar <bram@vim.org>2013-05-15 16:11:50 +0200
commit28dbfef76636c06522d169571823d75abe9aa3e6 (patch)
treeb491f189560ad4a948a7f67f3344da479b388fce
parent158725dabe57bcd20d99d9588e8eeb41b868cb1d (diff)
downloadvim-28dbfef76636c06522d169571823d75abe9aa3e6.tar.gz
updated for version 7.3.954v7.3.954v7-3-954
Problem: No check if PyObject_IsTrue fails. Solution: Add a check for -1 value. (ZyX)
-rw-r--r--src/if_py_both.h15
-rw-r--r--src/version.c2
2 files changed, 14 insertions, 3 deletions
diff --git a/src/if_py_both.h b/src/if_py_both.h
index 9e6c6752..4905bed6 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -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)
diff --git a/src/version.c b/src/version.c
index 5e472cb7..6d3e7850 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 954,
+/**/
953,
/**/
952,