]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
check for min packet size here, too
authorAlan T. DeKok <aland@freeradius.org>
Mon, 1 Apr 2019 15:00:33 +0000 (11:00 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 1 Apr 2019 15:00:33 +0000 (11:00 -0400)
src/modules/proto_dhcpv4/proto_dhcpv4.c

index 6055f4390bd926ea44fb19a25ef199e640129442..096a7e827342075af0dca08dcd6cd95a18ebc60e 100644 (file)
@@ -369,7 +369,12 @@ static ssize_t mod_encode(void const *instance, REQUEST *request, uint8_t *buffe
                return sizeof(new_client);
        }
 
-       memset(reply, 0, sizeof(*reply));
+       if (buffer_len < MIN_PACKET_SIZE) {
+               REDEBUG("Output buffer is too small to hold a DHCPv4 packet.");
+               return -1;
+       }
+
+       memset(buffer, 0, buffer_len);
 
        /*
         *      Initialize the output packet from the input packet.