svn commit: r362516 - head/contrib/ldns/drill

Oleksandr Tymoshenko gonzo at FreeBSD.org
Mon Jun 22 23:13:15 UTC 2020


Author: gonzo
Date: Mon Jun 22 23:13:14 2020
New Revision: 362516
URL: https://svnweb.freebsd.org/changeset/base/362516

Log:
  Fix crash in drill(1) when IP has two subsequent dots
  
  Cherry-pick crash fix from the upstream repo
  
  PR:		226575
  Reported by:	Goran Mekić <meka at tilda.center>
  Obtained from:	https://git.nlnetlabs.nl/ldns/commit/?id=98291475
  MFC after:	2 weeks

Modified:
  head/contrib/ldns/drill/drill.c

Modified: head/contrib/ldns/drill/drill.c
==============================================================================
--- head/contrib/ldns/drill/drill.c	Mon Jun 22 22:59:03 2020	(r362515)
+++ head/contrib/ldns/drill/drill.c	Mon Jun 22 23:13:14 2020	(r362516)
@@ -787,15 +787,17 @@ main(int argc, char *argv[])
 				qname = ldns_dname_new_frm_str(ip6_arpa_str);
 			} else {
 				qname = ldns_dname_new_frm_str(name);
-				qname_tmp = ldns_dname_reverse(qname);
-				ldns_rdf_deep_free(qname);
-				qname = qname_tmp;
-				qname_tmp = ldns_dname_new_frm_str("in-addr.arpa.");
-				status = ldns_dname_cat(qname, qname_tmp);
-				if (status != LDNS_STATUS_OK) {
-					error("%s", "could not create reverse address for ip4: %s\n", ldns_get_errorstr_by_id(status));
+				if (qname) {
+					qname_tmp = ldns_dname_reverse(qname);
+					ldns_rdf_deep_free(qname);
+					qname = qname_tmp;
+					qname_tmp = ldns_dname_new_frm_str("in-addr.arpa.");
+					status = ldns_dname_cat(qname, qname_tmp);
+					if (status != LDNS_STATUS_OK) {
+						error("%s", "could not create reverse address for ip4: %s\n", ldns_get_errorstr_by_id(status));
+					}
+					ldns_rdf_deep_free(qname_tmp);
 				}
-				ldns_rdf_deep_free(qname_tmp);
 			}
 			if (!qname) {
 				error("%s", "-x implies an ip address");


More information about the svn-src-all mailing list