ldb:ldb_dn: use safe NUMERIC_CMP in ldb_dn_compare_base()
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Tue, 2 Apr 2024 23:50:47 +0000 (12:50 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 10 Apr 2024 22:56:33 +0000 (22:56 +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>
lib/ldb/common/ldb_dn.c

index 39fe1e81f0dd82dbb2a2363f0a020c10b5da7281..95a903244c69cdcd4850f69e02bce0f4e4f67e2a 100644 (file)
@@ -1111,7 +1111,7 @@ int ldb_dn_compare_base(struct ldb_dn *base, struct ldb_dn *dn)
 
                /* compare attr.cf_value. */
                if (b_vlen != dn_vlen) {
-                       return b_vlen - dn_vlen;
+                       return NUMERIC_CMP(b_vlen, dn_vlen);
                }
                ret = strncmp(b_vdata, dn_vdata, b_vlen);
                if (ret != 0) return ret;