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@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"); _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"