From: Amitay Isaacs Date: Thu, 18 Aug 2011 05:11:20 +0000 (+1000) Subject: py_security: Fix comparison between two dom_sid objects X-Git-Url: http://git.samba.org/idra/samba.git/?p=idra%2Fsamba.git;a=commitdiff_plain;h=c71e781e7d66022cd6181e910f5fb8b7d750cbc1;ds=inline py_security: Fix comparison between two dom_sid objects dom_sid_compare() function can return values other than -1, 0, 1. Python requires compare function to return value from [-1, 0, 1]. Pair-Programmed-With: Andrew Bartlett Signed-off-by: Andrew Bartlett --- diff --git a/source4/librpc/ndr/py_security.c b/source4/librpc/ndr/py_security.c index 2d038cfcca8..7f79796ea26 100644 --- a/source4/librpc/ndr/py_security.c +++ b/source4/librpc/ndr/py_security.c @@ -72,11 +72,19 @@ static PyObject *py_dom_sid_split(PyObject *py_self, PyObject *args) static int py_dom_sid_cmp(PyObject *py_self, PyObject *py_other) { struct dom_sid *self = pytalloc_get_ptr(py_self), *other; + int val; + other = pytalloc_get_ptr(py_other); if (other == NULL) return -1; - return dom_sid_compare(self, other); + val = dom_sid_compare(self, other); + if (val > 0) { + return 1; + } else if (val < 0) { + return -1; + } + return 0; } static PyObject *py_dom_sid_str(PyObject *py_self)