diff options
Diffstat (limited to 'net-dns/dnsmasq/files/dnsmasq-2.72-Fix-crash-on-receipt-of-certain-malformed-DNS-requests.patch')
-rw-r--r-- | net-dns/dnsmasq/files/dnsmasq-2.72-Fix-crash-on-receipt-of-certain-malformed-DNS-requests.patch | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/net-dns/dnsmasq/files/dnsmasq-2.72-Fix-crash-on-receipt-of-certain-malformed-DNS-requests.patch b/net-dns/dnsmasq/files/dnsmasq-2.72-Fix-crash-on-receipt-of-certain-malformed-DNS-requests.patch deleted file mode 100644 index c6106db510de..000000000000 --- a/net-dns/dnsmasq/files/dnsmasq-2.72-Fix-crash-on-receipt-of-certain-malformed-DNS-requests.patch +++ /dev/null @@ -1,40 +0,0 @@ -commit ad4a8ff7d9097008d7623df8543df435bfddeac8 -Author: Simon Kelley <simon@thekelleys.org.uk> -Date: Thu Apr 9 21:48:00 2015 +0100 - - Fix crash on receipt of certain malformed DNS requests. - -diff --git a/src/rfc1035.c b/src/rfc1035.c -index 7a07b0c..a995ab5 100644 ---- a/src/rfc1035.c -+++ b/src/rfc1035.c -@@ -1198,7 +1198,10 @@ unsigned int extract_request(struct dns_header *header, size_t qlen, char *name, - size_t setup_reply(struct dns_header *header, size_t qlen, - struct all_addr *addrp, unsigned int flags, unsigned long ttl) - { -- unsigned char *p = skip_questions(header, qlen); -+ unsigned char *p; -+ -+ if (!(p = skip_questions(header, qlen))) -+ return 0; - - /* clear authoritative and truncated flags, set QR flag */ - header->hb3 = (header->hb3 & ~(HB3_AA | HB3_TC)) | HB3_QR; -@@ -1214,7 +1217,7 @@ size_t setup_reply(struct dns_header *header, size_t qlen, - SET_RCODE(header, NOERROR); /* empty domain */ - else if (flags == F_NXDOMAIN) - SET_RCODE(header, NXDOMAIN); -- else if (p && flags == F_IPV4) -+ else if (flags == F_IPV4) - { /* we know the address */ - SET_RCODE(header, NOERROR); - header->ancount = htons(1); -@@ -1222,7 +1225,7 @@ size_t setup_reply(struct dns_header *header, size_t qlen, - add_resource_record(header, NULL, NULL, sizeof(struct dns_header), &p, ttl, NULL, T_A, C_IN, "4", addrp); - } - #ifdef HAVE_IPV6 -- else if (p && flags == F_IPV6) -+ else if (flags == F_IPV6) - { - SET_RCODE(header, NOERROR); - header->ancount = htons(1); |