diff options
author | Kamen Mazdrashki <kamenim@samba.org> | 2014-11-09 04:28:47 +0100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2014-11-25 05:04:07 +0100 |
commit | a48b533ea5c9faae3429b0fb680b52b14676cd22 (patch) | |
tree | ef749e562586168048b3b8516f56aad77b2d919c /lib/ldb/pyldb.c | |
parent | 0d5adad07b572e6f7c4ac1a560593469df48352c (diff) | |
download | samba-a48b533ea5c9faae3429b0fb680b52b14676cd22.tar.gz samba-a48b533ea5c9faae3429b0fb680b52b14676cd22.tar.xz samba-a48b533ea5c9faae3429b0fb680b52b14676cd22.zip |
lib-pyldb: Avoid SEGFAULT in case we can't convert passed value to py_String
Signed-off-by: Kamen Mazdrashki <kamenim@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'lib/ldb/pyldb.c')
-rw-r--r-- | lib/ldb/pyldb.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/ldb/pyldb.c b/lib/ldb/pyldb.c index 78b801218f..c541b7249e 100644 --- a/lib/ldb/pyldb.c +++ b/lib/ldb/pyldb.c @@ -1629,6 +1629,11 @@ static PyObject *py_ldb_schema_format_value(PyLdbObject *self, PyObject *args) old_val.data = (uint8_t *)PyString_AsString(val); old_val.length = PyString_Size(val); + if (old_val.data == NULL) { + PyErr_SetString(PyExc_RuntimeError, "Failed to convert passed value to String"); + return NULL; + } + a = ldb_schema_attribute_by_name(pyldb_Ldb_AsLdbContext(self), element_name); if (a == NULL) { |