diff options
author | Thomas Markwalder <tmark@isc.org> | 2019-05-07 15:36:54 -0400 |
---|---|---|
committer | Thomas Markwalder <tmark@isc.org> | 2019-06-07 11:47:50 -0400 |
commit | fce94f06e3b05584390ae4704b0ada72b10463e0 (patch) | |
tree | 7c31b9d1bb0bb87ad8717333650f0292c21d7a28 | |
parent | cb89a69139eddbd11ee776caacd68f9baaefe285 (diff) | |
download | isc-dhcp-fce94f06e3b05584390ae4704b0ada72b10463e0.tar.gz |
[#13,!7] Corrected a backwards check in billing class logic
RELNOTES - added a release note.
server/dhcp.c
ack_lease () - corrected the logic used to capture the billing
class name for logging
-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; } |