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