ldb: avoid searching empty lists in ldb_msg_find_common_values
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Wed, 5 Jul 2017 22:01:24 +0000 (10:01 +1200)
committerAndreas Schneider <asn@cryptomilk.org>
Fri, 7 Jul 2017 13:51:25 +0000 (15:51 +0200)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andreas Schneider <asn@samba.org>
lib/ldb/common/ldb_msg.c

index 8e4047b41beebcadeab9631bc820941f0eadc490..c2782db6fb2f2891def688ca9ecb1721bf5aa346 100644 (file)
@@ -207,6 +207,9 @@ int ldb_msg_find_common_values(struct ldb_context *ldb,
        if (strcmp(el->name, el2->name) != 0) {
                return LDB_ERR_INAPPROPRIATE_MATCHING;
        }
+       if (el->num_values == 0 || el2->num_values == 0) {
+               return LDB_SUCCESS;
+       }
        /*
           With few values, it is better to do the brute-force search than the
           clever search involving tallocs, memcpys, sorts, etc.