diff options
-rw-r--r-- | RELNOTES | 4 | ||||
-rw-r--r-- | server/dhcp.c | 8 |
2 files changed, 8 insertions, 4 deletions
@@ -129,6 +129,10 @@ by Eric Young (eay@cryptsoft.com). update ability (e.g. by undefining NSUPDATE). [ISC-Bugs, #16,!9 git ddb508ac083dae4ff83279dd240bad7f73a97b7d] +- Corrected an issue that was causing the server, when running in + DHPCv4 mode, to segfault when class lease limits are reached. + [ISC-Bugs #13, !7 git #TBD] + Changes since 4.4.0 (New Features) - none Changes since 4.4.0 (Bug Fixes) diff --git a/server/dhcp.c b/server/dhcp.c index 0529662c..6d129ec9 100644 --- a/server/dhcp.c +++ b/server/dhcp.c @@ -2562,7 +2562,7 @@ void ack_lease (packet, lease, offer, when, msg, ms_nulltp, hp) int bill = 0; for (i = 0; i < packet->class_count; i++) { - struct class *billclass, *subclass; + struct class *billclass, *superclass; billclass = packet->classes[i]; if (billclass->lease_limit) { @@ -2570,9 +2570,9 @@ void ack_lease (packet, lease, offer, when, msg, ms_nulltp, hp) if (bill_class(lease, billclass)) break; - subclass = billclass->superclass; - if (subclass == NULL) - cname = subclass->name; + superclass = billclass->superclass; + if (superclass != NULL) + cname = superclass->name; else cname = billclass->name; } |