From 5d0ba22ac4706851ac6b4739059857acde2cf71f Mon Sep 17 00:00:00 2001 From: Matias Fontanini Date: Thu, 7 Aug 2014 21:22:31 -0300 Subject: [PATCH] Fixed invalid parsing of unknown DNS records. --- src/dns.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/dns.cpp b/src/dns.cpp index 99a0fa4..98d2bfa 100644 --- a/src/dns.cpp +++ b/src/dns.cpp @@ -438,12 +438,14 @@ void DNS::convert_records(const uint8_t *ptr, const uint8_t *end, resources_type used_small_buffer = true; break; default: - if(data_size <= 256) { + if(data_size < sizeof(small_addr_buf) - 1) { std::copy( ptr, ptr + data_size, small_addr_buf ); + // null terminator + small_addr_buf[data_size] = 0; used_small_buffer = true; } else