summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/ldb.i
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2008-03-19 11:11:55 +1100
committerAndrew Bartlett <abartlet@samba.org>2008-03-19 11:11:55 +1100
commit5af56a613c3a954f80eeef21887f9317119af8ba (patch)
tree778281c6ddb74119bc9e58076b70196dc24257c3 /source4/lib/ldb/ldb.i
parent576540b25c6761978d1317334a647fead0155765 (diff)
downloadsamba-5af56a613c3a954f80eeef21887f9317119af8ba.tar.gz
samba-5af56a613c3a954f80eeef21887f9317119af8ba.tar.bz2
samba-5af56a613c3a954f80eeef21887f9317119af8ba.zip
More safety around ldb_dn C functions in python bindings.
Ensure that the ldb python binding 'TypeError dn not set' errors are not in the SWIG wrapper's use of ldb functions, put some more error checks in. Andrew Bartlett (This used to be commit 8d4c831184cff8bca85daf6cc711b189b5cf3a47)
Diffstat (limited to 'source4/lib/ldb/ldb.i')
-rw-r--r--source4/lib/ldb/ldb.i8
1 files changed, 6 insertions, 2 deletions
diff --git a/source4/lib/ldb/ldb.i b/source4/lib/ldb/ldb.i
index bd41e1e23e..b0723a8ecd 100644
--- a/source4/lib/ldb/ldb.i
+++ b/source4/lib/ldb/ldb.i
@@ -257,15 +257,19 @@ int ldb_dn_from_pyobject(TALLOC_CTX *mem_ctx, PyObject *object,
int ret;
struct ldb_dn *odn;
if (ldb_ctx != NULL && PyString_Check(object)) {
- *dn = ldb_dn_new(mem_ctx, ldb_ctx, PyString_AsString(object));
- if (!*dn) {
+ odn = ldb_dn_new(mem_ctx, ldb_ctx, PyString_AsString(object));
+ if (!odn) {
return SWIG_ERROR;
}
+ *dn = odn;
return 0;
}
ret = SWIG_ConvertPtr(object, (void **)&odn, SWIGTYPE_p_ldb_dn,
SWIG_POINTER_EXCEPTION);
*dn = ldb_dn_copy(mem_ctx, odn);
+ if (odn && !*dn) {
+ return SWIG_ERROR;
+ }
return ret;
}