mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 18:28:25 +00:00
Fix crash on exceeding DHCP lease limit.
This commit is contained in:
@@ -59,6 +59,10 @@ version 2.66
|
|||||||
|
|
||||||
Update Polish translation. Thanks to Jan Psota.
|
Update Polish translation. Thanks to Jan Psota.
|
||||||
|
|
||||||
|
Fix crash if the configured DHCP lease limit is
|
||||||
|
reached. Regression occurred in 2.61. Thanks to Tsachi for
|
||||||
|
the bug report.
|
||||||
|
|
||||||
|
|
||||||
version 2.65
|
version 2.65
|
||||||
Fix regression which broke forwarding of queries sent via
|
Fix regression which broke forwarding of queries sent via
|
||||||
|
|||||||
15
src/lease.c
15
src/lease.c
@@ -703,8 +703,11 @@ static struct dhcp_lease *lease_allocate(void)
|
|||||||
struct dhcp_lease *lease4_allocate(struct in_addr addr)
|
struct dhcp_lease *lease4_allocate(struct in_addr addr)
|
||||||
{
|
{
|
||||||
struct dhcp_lease *lease = lease_allocate();
|
struct dhcp_lease *lease = lease_allocate();
|
||||||
lease->addr = addr;
|
if (lease)
|
||||||
lease->hwaddr_len = 256; /* illegal value */
|
{
|
||||||
|
lease->addr = addr;
|
||||||
|
lease->hwaddr_len = 256; /* illegal value */
|
||||||
|
}
|
||||||
|
|
||||||
return lease;
|
return lease;
|
||||||
}
|
}
|
||||||
@@ -713,8 +716,12 @@ struct dhcp_lease *lease4_allocate(struct in_addr addr)
|
|||||||
struct dhcp_lease *lease6_allocate(struct in6_addr *addrp, int lease_type)
|
struct dhcp_lease *lease6_allocate(struct in6_addr *addrp, int lease_type)
|
||||||
{
|
{
|
||||||
struct dhcp_lease *lease = lease_allocate();
|
struct dhcp_lease *lease = lease_allocate();
|
||||||
memcpy(lease->hwaddr, addrp, sizeof(*addrp)) ;
|
|
||||||
lease->flags |= lease_type;
|
if (lease)
|
||||||
|
{
|
||||||
|
memcpy(lease->hwaddr, addrp, sizeof(*addrp)) ;
|
||||||
|
lease->flags |= lease_type;
|
||||||
|
}
|
||||||
|
|
||||||
return lease;
|
return lease;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user