From: Evan Hunt Date: Tue, 5 Jan 2016 20:17:54 +0000 (-0800) Subject: [master] check ECS address length X-Git-Tag: v9.11.0a1~206 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=1330ae5fc207ce2db4c1e0670a43f3c9e654152e;p=thirdparty%2Fbind9.git [master] check ECS address length --- diff --git a/lib/dns/message.c b/lib/dns/message.c index 2b38ff03934..68c86871cc7 100644 --- a/lib/dns/message.c +++ b/lib/dns/message.c @@ -3252,6 +3252,9 @@ render_ecs(isc_buffer_t *ecsbuf, isc_buffer_t *target) { if (isc_buffer_remaininglength(ecsbuf) < addrbytes) return (DNS_R_OPTERR); + if (addrbytes > sizeof(addr)) + return (DNS_R_OPTERR); + ADD_STRING(target, ": "); memset(addr, 0, sizeof(addr)); for (i = 0; i < addrbytes; i ++)