2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-31 14:25:41 +00:00

Fix the math in the udp packet length calculator.

This commit is contained in:
Ted Lemon
2000-10-15 18:54:29 +00:00
parent 848c25472a
commit e28dccc159

View File

@@ -42,7 +42,7 @@
#ifndef lint
static char copyright[] =
"$Id: packet.c,v 1.38 2000/10/14 07:56:59 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n";
"$Id: packet.c,v 1.39 2000/10/15 18:54:29 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -254,7 +254,8 @@ ssize_t decode_udp_ip_header (interface, buf, bufix, from, data, buflen)
#endif /* USERLAND_FILTER */
ulen = ntohs (udp -> uh_ulen);
if (ulen < sizeof udp || ((unsigned char *)udp) + ulen > buf + buflen) {
if (ulen < sizeof *udp ||
((unsigned char *)udp) + ulen > buf + bufix + buflen) {
log_info ("bogus UDP packet length: %d", ulen);
return -1;
}