[bind10-dev] BIND 10 trac2320, updated. b8b0b9c2b4c0ef559c027033fdcb95e8ff61d9fb [2320] Minor memory leak in Dhcpv4_srv test fixed.

JINMEI Tatuya / 神明達哉 jinmei at isc.org
Wed Jan 9 16:02:10 UTC 2013


Just happened to notice it:

At Wed, 09 Jan 2013 14:45:49 +0000,
BIND 10 source code commits <bind10-changes at lists.isc.org> wrote:

>     [2320] Minor memory leak in Dhcpv4_srv test fixed.

> -----------------------------------------------------------------------
> diff --git a/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc b/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc
> index 144616e..bc2246f 100644
> --- a/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc
> +++ b/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc
> @@ -274,6 +274,7 @@ TEST_F(Dhcpv4SrvTest, basic) {
>          naked_srv = new NakedDhcpv4Srv(DHCP4_SERVER_PORT + 10000);
>      });
>      EXPECT_TRUE(naked_srv->getServerID());
> +    delete naked_srv;
>  
>      ASSERT_NO_THROW({
>          naked_srv = new NakedDhcpv4Srv(0);

I'd rather suggest using safer API like boost::scoped_ptr as a
convention:

  scoped_ptr<NakedDhcpv4Srv> naked_srv;
  ...
     naked_srv.reset(new NakedDhcpv4Srv(DHCP4_SERVER_PORT + 10000));
    });
    EXPECT_TRUE(naked_srv->getServerID());
    //delete naked_srv; <=== no explicit cleanup is needed

    ASSERT_NO_THROW({
        naked_srv.reset(new NakedDhcpv4Srv(0));

than trying to be careful about deleting things manually.  As long as
we manually new and delete things, we will never be free from leaks
like this no matter how we try to be careful as humans overlook
details.

---
JINMEI, Tatuya


More information about the bind10-dev mailing list