From 928fb861507e2abed86258582f27aad7d71b308e Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 12 Apr 2010 18:39:50 +1000 Subject: s4-ldb: fixed a crash bug for non-UTF8 strings when one of the strings was not valid UTF8, we would try to dereference NULL --- source4/lib/ldb/common/attrib_handlers.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source4/lib/ldb/common') diff --git a/source4/lib/ldb/common/attrib_handlers.c b/source4/lib/ldb/common/attrib_handlers.c index 2a2bd0852e..2f4454c7b4 100644 --- a/source4/lib/ldb/common/attrib_handlers.c +++ b/source4/lib/ldb/common/attrib_handlers.c @@ -269,7 +269,8 @@ utf8str: * options but to do a binary compare */ talloc_free(b1); talloc_free(b2); - if (memcmp(s1, s2, MIN(n1, n2)) == 0) { + ret = memcmp(s1, s2, MIN(n1, n2)); + if (ret == 0) { if (n1 == n2) return 0; if (n1 > n2) { return (int)toupper(s1[n2]); @@ -277,6 +278,7 @@ utf8str: return -(int)toupper(s2[n1]); } } + return ret; } u1 = b1; -- cgit