Browse Source

[3232] Initialize all values in Lease6 in the default constructor.

Failing to initialize all values causes valgrind errors.
Marcin Siodelski 11 years ago
parent
commit
8ae73d0c67
2 changed files with 8 additions and 5 deletions
  1. 7 1
      src/lib/dhcpsrv/lease.cc
  2. 1 4
      src/lib/dhcpsrv/lease.h

+ 7 - 1
src/lib/dhcpsrv/lease.cc

@@ -166,6 +166,12 @@ Lease6::Lease6(Type type, const isc::asiolink::IOAddress& addr,
     cltt_ = time(NULL);
     cltt_ = time(NULL);
 }
 }
 
 
+Lease6::Lease6()
+    : Lease(isc::asiolink::IOAddress("::"), 0, 0, 0, 0, 0, false, false, ""),
+      type_(TYPE_NA), prefixlen_(0), iaid_(0), duid_(DuidPtr()),
+      preferred_lft_(0) {
+}
+
 const std::vector<uint8_t>&
 const std::vector<uint8_t>&
 Lease6::getDuidVector() const {
 Lease6::getDuidVector() const {
     if (!duid_) {
     if (!duid_) {
@@ -180,7 +186,7 @@ std::string
 Lease6::toText() const {
 Lease6::toText() const {
     ostringstream stream;
     ostringstream stream;
 
 
-    stream << "Type:          " << typeToText(type_) << "(" 
+    stream << "Type:          " << typeToText(type_) << "("
            << static_cast<int>(type_) << ") ";
            << static_cast<int>(type_) << ") ";
     stream << "Address:       " << addr_ << "\n"
     stream << "Address:       " << addr_ << "\n"
            << "Prefix length: " << static_cast<int>(prefixlen_) << "\n"
            << "Prefix length: " << static_cast<int>(prefixlen_) << "\n"

+ 1 - 4
src/lib/dhcpsrv/lease.h

@@ -348,10 +348,7 @@ struct Lease6 : public Lease {
     /// @brief Constructor
     /// @brief Constructor
     ///
     ///
     /// Initialize fields that don't have a default constructor.
     /// Initialize fields that don't have a default constructor.
-    Lease6() : Lease(isc::asiolink::IOAddress("::"), 0, 0, 0, 0, 0,
-                     false, false, ""),
-        type_(TYPE_NA) {
-    }
+    Lease6();
 
 
     /// @brief Returns a reference to a vector representing a DUID.
     /// @brief Returns a reference to a vector representing a DUID.
     ///
     ///