From: Marcin Siodelski Date: Fri, 12 May 2023 12:45:35 +0000 (+0200) Subject: [#2843] Fix in random allocator return values X-Git-Tag: Kea-2.3.8~146 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5a660f5b79c768df611e06263e3e552ba668e441;p=thirdparty%2Fkea.git [#2843] Fix in random allocator return values --- diff --git a/src/lib/dhcpsrv/random_allocator.cc b/src/lib/dhcpsrv/random_allocator.cc index f838b8cf3c..e06cc54575 100644 --- a/src/lib/dhcpsrv/random_allocator.cc +++ b/src/lib/dhcpsrv/random_allocator.cc @@ -80,7 +80,7 @@ RandomAllocator::pickAddressInternal(const ClientClasses& client_classes, // No pool available. There are no pools or client classes do // not match. - return (IOAddress::IPV4_ZERO_ADDRESS()); + return (pool_type_ == Lease::TYPE_V4 ? IOAddress::IPV4_ZERO_ADDRESS() : IOAddress::IPV6_ZERO_ADDRESS()); } IOAddress diff --git a/src/lib/dhcpsrv/tests/random_allocator_unittest.cc b/src/lib/dhcpsrv/tests/random_allocator_unittest.cc index e8009eed3a..caf27f4745 100644 --- a/src/lib/dhcpsrv/tests/random_allocator_unittest.cc +++ b/src/lib/dhcpsrv/tests/random_allocator_unittest.cc @@ -334,7 +334,7 @@ TEST_F(RandomAllocatorTest6, clientClasses) { // can't offer any address to the client. cc_.clear(); IOAddress candidate = alloc.pickAddress(cc_, duid_, IOAddress("0.0.0.0")); - EXPECT_TRUE(candidate.isV4Zero()); + EXPECT_TRUE(candidate.isV6Zero()); } // Test allocating delegated prefixes when a subnet has a single pool.