A few issues were identified with DNS_SD segment buffers, making it work "by chance" (depending on memory layout): - size check in dns_sd_query_extract() did not take NULL termination into account, and in result could overflow provided buffer - the proto_buf in send_sd_response() can either be used to parse protocol or domain, depending on number of segments in the query. It should therefore be large enough to hold either. - Similarily, instance_buf should be able to hold DNS_SD_INSTANCE_MAX_SIZE, not DNS_SD_SERVICE_MAX_SIZE. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no> |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
dispatcher.c | ||
dns_cache.c | ||
dns_cache.h | ||
dns_internal.h | ||
dns_pack.c | ||
dns_pack.h | ||
dns_sd.c | ||
dns_sd.h | ||
Kconfig | ||
llmnr_responder.c | ||
mdns_responder.c | ||
resolve.c |