From c71e781e7d66022cd6181e910f5fb8b7d750cbc1 Mon Sep 17 00:00:00 2001 From: Amitay Isaacs Date: Thu, 18 Aug 2011 15:11:20 +1000 Subject: 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 --- source4/librpc/ndr/py_security.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'source4/librpc') diff --git a/source4/librpc/ndr/py_security.c b/source4/librpc/ndr/py_security.c index 2d038cfcca..7f79796ea2 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) -- cgit