From 5a660f5b79c768df611e06263e3e552ba668e441 Mon Sep 17 00:00:00 2001 From: Marcin Siodelski Date: Fri, 12 May 2023 14:45:35 +0200 Subject: [PATCH] [#2843] Fix in random allocator return values --- src/lib/dhcpsrv/random_allocator.cc | 2 +- src/lib/dhcpsrv/tests/random_allocator_unittest.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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. -- 2.47.3