svn commit: r363175 - stable/12/contrib/ldns/drill

Oleksandr Tymoshenko gonzo at FreeBSD.org
Tue Jul 14 05:24:08 UTC 2020


Author: gonzo
Date: Tue Jul 14 05:24:07 2020
New Revision: 363175
URL: https://svnweb.freebsd.org/changeset/base/363175

Log:
  MFC r362516:
  
  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

Modified:
  stable/12/contrib/ldns/drill/drill.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/contrib/ldns/drill/drill.c
==============================================================================
--- stable/12/contrib/ldns/drill/drill.c	Tue Jul 14 05:10:50 2020	(r363174)
+++ stable/12/contrib/ldns/drill/drill.c	Tue Jul 14 05:24:07 2020	(r363175)
@@ -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