]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ldb: avoid non-transitive comparison in ldb_val_cmp()
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Wed, 3 Apr 2024 22:22:58 +0000 (11:22 +1300)
committerJule Anger <janger@samba.org>
Mon, 10 Jun 2024 13:25:16 +0000 (13:25 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15625

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
(cherry picked from commit 5c36bc82415b246fccec9eae693da82b7aa45b81)

lib/ldb/common/ldb_msg.c

index 3242447b5443191aaef65a49e1ebba9102244621..5c5f6a7c2b485d0eaa1d3780ceb4322d52185d1e 100644 (file)
@@ -93,7 +93,7 @@ struct ldb_val *ldb_msg_find_val(const struct ldb_message_element *el,
 static int ldb_val_cmp(const struct ldb_val *v1, const struct ldb_val *v2)
 {
        if (v1->length != v2->length) {
-               return v1->length - v2->length;
+               return NUMERIC_CMP(v1->length, v2->length);
        }
        return memcmp(v1->data, v2->data, v1->length);
 }