0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

updated for version 7.3.954

Problem:    No check if PyObject_IsTrue fails.
Solution:   Add a check for -1 value. (ZyX)
This commit is contained in:
Bram Moolenaar
2013-05-15 16:11:50 +02:00
parent d5f729cada
commit b983f75d22
2 changed files with 14 additions and 3 deletions

View 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)