From 5759b20af99af6d30924f0efd8da5eac2a17163d Mon Sep 17 00:00:00 2001 From: "Alan T. DeKok" Date: Mon, 3 Jul 2017 11:36:13 -0400 Subject: [PATCH 1/1] FR-GV-206 - decode option 60 (string) not 63 (octets), and check length --- src/modules/proto_dhcp/dhcp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/proto_dhcp/dhcp.c b/src/modules/proto_dhcp/dhcp.c index 98d8750..a66a931 100644 --- a/src/modules/proto_dhcp/dhcp.c +++ b/src/modules/proto_dhcp/dhcp.c @@ -1097,8 +1097,8 @@ int fr_dhcp_decode(RADIUS_PACKET *packet) /* * Vendor is "MSFT 98" */ - vp = fr_pair_find_by_num(head, 63, DHCP_MAGIC_VENDOR, TAG_ANY); - if (vp && (strcmp(vp->vp_strvalue, "MSFT 98") == 0)) { + vp = fr_pair_find_by_num(head, 60, DHCP_MAGIC_VENDOR, TAG_ANY); + if (vp && (vp->vp_length >= 7) && (memcmp(vp->vp_octets, "MSFT 98", 7) == 0)) { vp = fr_pair_find_by_num(head, 262, DHCP_MAGIC_VENDOR, TAG_ANY); /* -- 2.1.4