diff options
author | Andrew Bartlett <abartlet@samba.org> | 2008-03-11 14:20:42 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2008-03-11 14:20:42 +1100 |
commit | 7da5ec17e666a9992cd0bd774b2360aafed8f3f3 (patch) | |
tree | d61030b5aa13e9866b57d1a91aa16c6e1369651b /source4/lib/ldb | |
parent | db06d932c8f43b02d4a54d0c139310a3890160d5 (diff) | |
download | samba-7da5ec17e666a9992cd0bd774b2360aafed8f3f3.tar.gz samba-7da5ec17e666a9992cd0bd774b2360aafed8f3f3.tar.bz2 samba-7da5ec17e666a9992cd0bd774b2360aafed8f3f3.zip |
Make error handling in ldb more consistant.
This change ensures we give an immidiate error if the DN won't parse.
Also clean up strcmp use to be more standard.
Andrew Bartlett
(This used to be commit 1b15f374a89b99f3c43d9c2ce06dde9c67383e66)
Diffstat (limited to 'source4/lib/ldb')
-rw-r--r-- | source4/lib/ldb/ldb.i | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source4/lib/ldb/ldb.i b/source4/lib/ldb/ldb.i index 0d9679d21e..bd41e1e23e 100644 --- a/source4/lib/ldb/ldb.i +++ b/source4/lib/ldb/ldb.i @@ -258,6 +258,9 @@ int ldb_dn_from_pyobject(TALLOC_CTX *mem_ctx, PyObject *object, struct ldb_dn *odn; if (ldb_ctx != NULL && PyString_Check(object)) { *dn = ldb_dn_new(mem_ctx, ldb_ctx, PyString_AsString(object)); + if (!*dn) { + return SWIG_ERROR; + } return 0; } ret = SWIG_ConvertPtr(object, (void **)&odn, SWIGTYPE_p_ldb_dn, @@ -566,7 +569,7 @@ PyObject *PyExc_LdbError; $1->elements = talloc_zero_array($1, struct ldb_message_element, PyDict_Size($input)); msg_pos = dict_pos = 0; while (PyDict_Next($input, &dict_pos, &key, &value)) { - if (!strcmp(PyString_AsString(key), "dn")) { + if (strcmp(PyString_AsString(key), "dn") == 0) { /* using argp0 (magic SWIG value) here is a hack */ if (ldb_dn_from_pyobject($1, value, argp1, &$1->dn) != 0) { SWIG_exception(SWIG_TypeError, "unable to import dn object"); |