From: Francis Dupont Date: Thu, 9 Jul 2026 10:09:40 +0000 (+0200) Subject: [#4555] Better code X-Git-Tag: Kea-3.3.0~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1c5fa718ffbe9ac1e64acbd19562aaf7cc950ced;p=thirdparty%2Fkea.git [#4555] Better code --- diff --git a/src/bin/dhcp4/dhcp4_srv.cc b/src/bin/dhcp4/dhcp4_srv.cc index a6c48822c5..9a8dc35a74 100644 --- a/src/bin/dhcp4/dhcp4_srv.cc +++ b/src/bin/dhcp4/dhcp4_srv.cc @@ -4535,11 +4535,19 @@ Dhcpv4Srv::serverDecline(hooks::CalloutHandlePtr& callout_handle, Pkt4Ptr& query } } - if (!lease_exists && !LeaseMgrFactory::instance().addLease(lease)) { - LOG_ERROR(lease4_logger, DHCP4_SERVER_INITIATED_DECLINE_ADD_FAILED) - .arg(query->getLabel()) - .arg(lease->addr_.toText()); - return; + if (!lease_exists) { + bool done; + try { + done = LeaseMgrFactory::instance().addLease(lease); + } catch (const Exception& ex) { + done = false; + } + if (!done) { + LOG_ERROR(lease4_logger, DHCP4_SERVER_INITIATED_DECLINE_ADD_FAILED) + .arg(query->getLabel()) + .arg(lease->addr_.toText()); + return; + } } }