From: Jelte Jansen Date: Wed, 12 Oct 2005 12:27:26 +0000 (+0000) Subject: fixed segfault when printing packet with EDNS but with unknown or no EDNS flags X-Git-Tag: release-1.0.0~44 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a8a2acdf2f0df53e4d9ca38eb41c989d79c8c235;p=thirdparty%2Fldns.git fixed segfault when printing packet with EDNS but with unknown or no EDNS flags --- diff --git a/host2str.c b/host2str.c index f1abd8ee..87774a3b 100644 --- a/host2str.c +++ b/host2str.c @@ -974,12 +974,21 @@ ldns_pkt2buffer_str(ldns_buffer *output, ldns_pkt *pkt) lt = ldns_lookup_by_id(ldns_edns_flags, (int)ldns_pkt_edns_z(pkt)); - ldns_buffer_printf(output, - ";; EDNS: version %u, flags: %s; udp: %u\n", - ldns_pkt_edns_version(pkt), - lt->name, - ldns_pkt_edns_udp_size(pkt) - ); + if (lt) { + ldns_buffer_printf(output, + ";; EDNS: version %u; flags: %s; udp: %u\n", + ldns_pkt_edns_version(pkt), + lt->name, + ldns_pkt_edns_udp_size(pkt) + ); + } else { + ldns_buffer_printf(output, + ";; EDNS: version %u; flags: ; udp: %u\n", + ldns_pkt_edns_version(pkt), + ldns_pkt_edns_udp_size(pkt) + ); + } + if (ldns_pkt_edns_data(pkt)) { ldns_buffer_printf(output, ";; Data: "); (void)ldns_rdf2buffer_str(output, ldns_pkt_edns_data(pkt));