summaryrefslogtreecommitdiffstats
path: root/lib/ldb/pyldb.c
diff options
context:
space:
mode:
authorKamen Mazdrashki <kamenim@samba.org>2014-11-09 04:28:47 +0100
committerAndrew Bartlett <abartlet@samba.org>2014-11-25 05:04:07 +0100
commita48b533ea5c9faae3429b0fb680b52b14676cd22 (patch)
treeef749e562586168048b3b8516f56aad77b2d919c /lib/ldb/pyldb.c
parent0d5adad07b572e6f7c4ac1a560593469df48352c (diff)
downloadsamba-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.c5
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) {