]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ldb: Don’t pass NULL pointer into strcasecmp()
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Thu, 6 Jul 2023 22:37:57 +0000 (10:37 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 8 Aug 2023 04:39:37 +0000 (04:39 +0000)
Doing so is undefined behaviour.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/ldb/common/ldb_msg.c

index 3242447b5443191aaef65a49e1ebba9102244621..dbc7e71b7b6d115560014beb7608c20511a58189 100644 (file)
@@ -788,6 +788,18 @@ bool ldb_msg_element_equal_ordered(const struct ldb_message_element *el1,
 int ldb_msg_element_compare_name(struct ldb_message_element *el1,
                                 struct ldb_message_element *el2)
 {
+       if (el1->name == el2->name) {
+               return 0;
+       }
+
+       if (el1->name == NULL) {
+               return -1;
+       }
+
+       if (el2->name == NULL) {
+               return 1;
+       }
+
        return ldb_attr_cmp(el1->name, el2->name);
 }