mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2024-08-26 06:23:00 +03:00
Merge pull request #1981 from hiura2023/master
Fix 'RemoveDefGwOnDhcpForLocalhost' function No.2: Change the minimum size of DHCP reply
This commit is contained in:
commit
5cf45ad62b
@ -4168,6 +4168,7 @@ BUF *DhcpModify(DHCP_MODIFY_OPTION *m, void *data, UINT size)
|
|||||||
LIST *opt_list2 = NULL;
|
LIST *opt_list2 = NULL;
|
||||||
UINT src_size = size;
|
UINT src_size = size;
|
||||||
UINT i;
|
UINT i;
|
||||||
|
UINT dhcp_min_size;
|
||||||
// Validate arguments
|
// Validate arguments
|
||||||
if (m == NULL || data == NULL || size == 0)
|
if (m == NULL || data == NULL || size == 0)
|
||||||
{
|
{
|
||||||
@ -4270,11 +4271,13 @@ BUF *DhcpModify(DHCP_MODIFY_OPTION *m, void *data, UINT size)
|
|||||||
// Rewrite if anything changes. Do not rewrite if there is no change
|
// Rewrite if anything changes. Do not rewrite if there is no change
|
||||||
ret_ok = true;
|
ret_ok = true;
|
||||||
|
|
||||||
if (ret->Size < DHCP_MIN_SIZE)
|
// If src_size is greater than DHCP_MIN_SIZE, then use the src_size as minimum size of DHCP.
|
||||||
|
dhcp_min_size = MAX(src_size, DHCP_MIN_SIZE);
|
||||||
|
if (ret->Size < dhcp_min_size)
|
||||||
{
|
{
|
||||||
// Padding
|
// Padding
|
||||||
UCHAR *pad_buf;
|
UCHAR *pad_buf;
|
||||||
UINT pad_size = DHCP_MIN_SIZE - ret->Size;
|
UINT pad_size = dhcp_min_size - ret->Size;
|
||||||
|
|
||||||
pad_buf = ZeroMalloc(pad_size);
|
pad_buf = ZeroMalloc(pad_size);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user