]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4/dnsserver: handle broken zone values in sort (CID 1414763, 1414769)
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Wed, 8 May 2019 02:27:05 +0000 (14:27 +1200)
committerDouglas Bagnall <dbagnall@samba.org>
Thu, 9 May 2019 22:39:27 +0000 (22:39 +0000)
We sort NULL values to the end of the list. What happens to the after
that is another question.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
source4/dns_server/dnsserver_common.c

index ab8079a72968604fc231250bbc0eeabd27cabc12..04d50577eb658c77b58dfbedb189a0abc8c5eb88 100644 (file)
@@ -1267,7 +1267,15 @@ static int dns_common_sort_zones(struct ldb_message **m1, struct ldb_message **m
 
        n1 = ldb_msg_find_attr_as_string(*m1, "name", NULL);
        n2 = ldb_msg_find_attr_as_string(*m2, "name", NULL);
-
+       if (n1 == NULL || n2 == NULL) {
+               if (n1 != NULL) {
+                       return -1;
+               } else if (n2 != NULL) {
+                       return 1;
+               } else {
+                       return 0;
+               }
+       }
        l1 = strlen(n1);
        l2 = strlen(n2);