]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] check ECS address length
authorEvan Hunt <each@isc.org>
Tue, 5 Jan 2016 20:17:54 +0000 (12:17 -0800)
committerEvan Hunt <each@isc.org>
Tue, 5 Jan 2016 20:17:54 +0000 (12:17 -0800)
lib/dns/message.c

index 2b38ff03934cc75c056475c701f45a0f1e419fb4..68c86871cc74716e8b9f8b5b8ddf8a8e74c33f23 100644 (file)
@@ -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 ++)