From: Douglas Bagnall Date: Wed, 8 May 2019 02:27:05 +0000 (+1200) Subject: s4/dnsserver: handle broken zone values in sort (CID 1414763, 1414769) X-Git-Tag: tdb-1.4.1~117 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e79c839a38caa67aeba1693570e6bf2a0c8c5814;p=thirdparty%2Fsamba.git s4/dnsserver: handle broken zone values in sort (CID 1414763, 1414769) We sort NULL values to the end of the list. What happens to the after that is another question. Signed-off-by: Douglas Bagnall Reviewed-by: Gary Lockyer --- diff --git a/source4/dns_server/dnsserver_common.c b/source4/dns_server/dnsserver_common.c index ab8079a7296..04d50577eb6 100644 --- a/source4/dns_server/dnsserver_common.c +++ b/source4/dns_server/dnsserver_common.c @@ -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);