]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#1434] fixed crash when force_create is false
authorRazvan Becheriu <razvan@isc.org>
Tue, 13 Oct 2020 16:07:18 +0000 (19:07 +0300)
committerRazvan Becheriu <razvan@isc.org>
Thu, 22 Oct 2020 14:45:15 +0000 (17:45 +0300)
src/hooks/dhcp/lease_cmds/lease_cmds.cc

index 841cc1eb7e0e69ec076a3a9f7e9eb30e1fad8672..261265032e40fd2b1fb13ee9892d318e1d0113f4 100644 (file)
@@ -654,8 +654,10 @@ LeaseCmdsImpl::addOrUpdate4(Lease4Ptr lease, bool force_create) {
         LeaseCmdsImpl::updateStatsOnAdd(lease);
         return (true);
     }
-    lease->old_cltt_ = existing->old_cltt_;
-    lease->old_valid_lft_ = existing->old_valid_lft_;
+    if (existing) {
+        lease->old_cltt_ = existing->old_cltt_;
+        lease->old_valid_lft_ = existing->old_valid_lft_;
+    }
     LeaseMgrFactory::instance().updateLease4(lease);
     LeaseCmdsImpl::updateStatsOnUpdate(existing, lease);
     return (false);
@@ -674,8 +676,10 @@ LeaseCmdsImpl::addOrUpdate6(Lease6Ptr lease, bool force_create) {
         LeaseCmdsImpl::updateStatsOnAdd(lease);
         return (true);
     }
-    lease->old_cltt_ = existing->old_cltt_;
-    lease->old_valid_lft_ = existing->old_valid_lft_;
+    if (existing) {
+        lease->old_cltt_ = existing->old_cltt_;
+        lease->old_valid_lft_ = existing->old_valid_lft_;
+    }
     LeaseMgrFactory::instance().updateLease6(lease);
     LeaseCmdsImpl::updateStatsOnUpdate(existing, lease);
     return (false);