From: Razvan Becheriu Date: Wed, 16 Mar 2022 15:01:05 +0000 (+0200) Subject: [#2336] initialize class match expression to null X-Git-Tag: Kea-2.1.4~30 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f569bc6e08fb035d06008a09efbac59a6141a934;p=thirdparty%2Fkea.git [#2336] initialize class match expression to null --- diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc index 254f23c293..4f70a727d2 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc @@ -2414,7 +2414,7 @@ public: auto options = boost::make_shared(); auto option_defs = boost::make_shared(); - auto expression = boost::make_shared(); + ExpressionPtr expression; last_client_class = boost::make_shared(out_bindings[1]->getString(), expression, options); last_client_class->setCfgOptionDef(option_defs); diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc index 9192821743..96250ca7d2 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc @@ -2857,7 +2857,7 @@ public: auto options = boost::make_shared(); auto option_defs = boost::make_shared(); - auto expression = boost::make_shared(); + ExpressionPtr expression; last_client_class = boost::make_shared(out_bindings[1]->getString(), expression, options); last_client_class->setCfgOptionDef(option_defs); diff --git a/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp4.cc b/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp4.cc index eec73bd10e..4bd9b52d09 100644 --- a/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp4.cc +++ b/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp4.cc @@ -2213,7 +2213,7 @@ public: auto options = boost::make_shared(); auto option_defs = boost::make_shared(); - auto expression = boost::make_shared(); + ExpressionPtr expression; last_client_class = boost::make_shared(worker.getString(1), expression, options); last_client_class->setCfgOptionDef(option_defs); diff --git a/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp6.cc b/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp6.cc index 92ff720368..4ea8b8abc2 100644 --- a/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp6.cc +++ b/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp6.cc @@ -2549,7 +2549,7 @@ public: auto options = boost::make_shared(); auto option_defs = boost::make_shared(); - auto expression = boost::make_shared(); + ExpressionPtr expression; last_client_class = boost::make_shared(worker.getString(1), expression, options); last_client_class->setCfgOptionDef(option_defs); diff --git a/src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.cc b/src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.cc index 400cc1de0c..ab5ef14063 100644 --- a/src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.cc +++ b/src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.cc @@ -4012,8 +4012,11 @@ GenericConfigBackendDHCPv4Test::setAndGetAllClientClasses4Test() { auto classes_list = client_classes.getClasses(); ASSERT_EQ(3, classes_list->size()); EXPECT_EQ("foo", (*classes_list->begin())->getName()); + EXPECT_FALSE((*classes_list->begin())->getMatchExpr()); EXPECT_EQ("bar", (*(classes_list->begin() + 1))->getName()); + EXPECT_FALSE((*(classes_list->begin() + 1))->getMatchExpr()); EXPECT_EQ("foobar", (*(classes_list->begin() + 2))->getName()); + EXPECT_FALSE((*(classes_list->begin() + 2))->getMatchExpr()); // Move the third class between the first and second class. ASSERT_NO_THROW_LOG(cbptr_->createUpdateClientClass4(ServerSelector::ONE("server1"), class3, "foo")); @@ -4023,8 +4026,11 @@ GenericConfigBackendDHCPv4Test::setAndGetAllClientClasses4Test() { classes_list = client_classes.getClasses(); ASSERT_EQ(3, classes_list->size()); EXPECT_EQ("foo", (*classes_list->begin())->getName()); + EXPECT_FALSE((*classes_list->begin())->getMatchExpr()); EXPECT_EQ("foobar", (*(classes_list->begin() + 1))->getName()); + EXPECT_FALSE((*(classes_list->begin() + 1))->getMatchExpr()); EXPECT_EQ("bar", (*(classes_list->begin() + 2))->getName()); + EXPECT_FALSE((*(classes_list->begin() + 2))->getMatchExpr()); // Update the foobar class without specifying its position. It should not // be moved. @@ -4034,8 +4040,11 @@ GenericConfigBackendDHCPv4Test::setAndGetAllClientClasses4Test() { classes_list = client_classes.getClasses(); ASSERT_EQ(3, classes_list->size()); EXPECT_EQ("foo", (*classes_list->begin())->getName()); + EXPECT_FALSE((*classes_list->begin())->getMatchExpr()); EXPECT_EQ("foobar", (*(classes_list->begin() + 1))->getName()); + EXPECT_FALSE((*(classes_list->begin() + 1))->getMatchExpr()); EXPECT_EQ("bar", (*(classes_list->begin() + 2))->getName()); + EXPECT_FALSE((*(classes_list->begin() + 2))->getMatchExpr()); } void diff --git a/src/lib/dhcpsrv/testutils/generic_cb_dhcp6_unittest.cc b/src/lib/dhcpsrv/testutils/generic_cb_dhcp6_unittest.cc index 355e42e351..61304b8d7d 100644 --- a/src/lib/dhcpsrv/testutils/generic_cb_dhcp6_unittest.cc +++ b/src/lib/dhcpsrv/testutils/generic_cb_dhcp6_unittest.cc @@ -4168,8 +4168,11 @@ GenericConfigBackendDHCPv6Test::setAndGetAllClientClasses6Test() { auto classes_list = client_classes.getClasses(); ASSERT_EQ(3, classes_list->size()); EXPECT_EQ("foo", (*classes_list->begin())->getName()); + EXPECT_FALSE((*classes_list->begin())->getMatchExpr()); EXPECT_EQ("bar", (*(classes_list->begin() + 1))->getName()); + EXPECT_FALSE((*(classes_list->begin() + 1))->getMatchExpr()); EXPECT_EQ("foobar", (*(classes_list->begin() + 2))->getName()); + EXPECT_FALSE((*(classes_list->begin() + 2))->getMatchExpr()); // Move the third class between the first and second class. ASSERT_NO_THROW_LOG(cbptr_->createUpdateClientClass6(ServerSelector::ONE("server1"), class3, "foo")); @@ -4179,8 +4182,11 @@ GenericConfigBackendDHCPv6Test::setAndGetAllClientClasses6Test() { classes_list = client_classes.getClasses(); ASSERT_EQ(3, classes_list->size()); EXPECT_EQ("foo", (*classes_list->begin())->getName()); + EXPECT_FALSE((*classes_list->begin())->getMatchExpr()); EXPECT_EQ("foobar", (*(classes_list->begin() + 1))->getName()); + EXPECT_FALSE((*(classes_list->begin() + 1))->getMatchExpr()); EXPECT_EQ("bar", (*(classes_list->begin() + 2))->getName()); + EXPECT_FALSE((*(classes_list->begin() + 2))->getMatchExpr()); // Update the foobar class without specifying its position. It should not // be moved. @@ -4190,8 +4196,11 @@ GenericConfigBackendDHCPv6Test::setAndGetAllClientClasses6Test() { classes_list = client_classes.getClasses(); ASSERT_EQ(3, classes_list->size()); EXPECT_EQ("foo", (*classes_list->begin())->getName()); + EXPECT_FALSE((*classes_list->begin())->getMatchExpr()); EXPECT_EQ("foobar", (*(classes_list->begin() + 1))->getName()); + EXPECT_FALSE((*(classes_list->begin() + 1))->getMatchExpr()); EXPECT_EQ("bar", (*(classes_list->begin() + 2))->getName()); + EXPECT_FALSE((*(classes_list->begin() + 2))->getMatchExpr()); } void