]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2546] Address some cppcheck issues
authorStephen Morris <stephen@isc.org>
Wed, 12 Dec 2012 13:44:07 +0000 (13:44 +0000)
committerStephen Morris <stephen@isc.org>
Wed, 12 Dec 2012 13:44:07 +0000 (13:44 +0000)
src/lib/dhcp/pkt4.cc
src/lib/dhcpsrv/alloc_engine.cc
src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc

index a232d020a0ced24daf3a35226b6c54c2f77ec211..63ab51353aff9ffa6f8834e16ec8628b8f43f2f5 100644 (file)
@@ -18,6 +18,7 @@
 #include <dhcp/pkt4.h>
 #include <exceptions/exceptions.h>
 
+#include <algorithm>
 #include <iostream>
 #include <sstream>
 
@@ -224,7 +225,7 @@ Pkt4::setHWAddr(uint8_t hType, uint8_t hlen,
                 const std::vector<uint8_t>& macAddr) {
     /// TODO Rewrite this once support for client-identifier option
     /// is implemented (ticket 1228?)
-    if (hlen>MAX_CHADDR_LEN) {
+    if (hlen > MAX_CHADDR_LEN) {
         isc_throw(OutOfRange, "Hardware address (len=" << hlen
                   << " too long. Max " << MAX_CHADDR_LEN << " supported.");
     }
@@ -234,8 +235,8 @@ Pkt4::setHWAddr(uint8_t hType, uint8_t hlen,
 
     htype_ = hType;
     hlen_ = hlen;
-    memset(chaddr_, 0, MAX_CHADDR_LEN);
-    memcpy(chaddr_, &macAddr[0], hlen);
+    std::copy(&macAddr[0], &macAddr[hlen], &chaddr_[0]);
+    std::fill(&chaddr_[hlen], &chaddr_[MAX_CHADDR_LEN], 0);
 }
 
 void
@@ -244,8 +245,8 @@ Pkt4::setSname(const uint8_t* sname, size_t snameLen /*= MAX_SNAME_LEN*/) {
         isc_throw(OutOfRange, "sname field (len=" << snameLen
                   << ") too long, Max " << MAX_SNAME_LEN << " supported.");
     }
-    memset(sname_, 0, MAX_SNAME_LEN);
-    memcpy(sname_, sname, snameLen);
+    std::copy(&sname[0], &sname[snameLen], &sname_[0]);
+    std::fill(&sname_[snameLen], &sname_[MAX_SNAME_LEN], 0);
 
     // no need to store snameLen as any empty space is filled with 0s
 }
@@ -256,8 +257,8 @@ Pkt4::setFile(const uint8_t* file, size_t fileLen /*= MAX_FILE_LEN*/) {
         isc_throw(OutOfRange, "file field (len=" << fileLen
                   << ") too long, Max " << MAX_FILE_LEN << " supported.");
     }
-    memset(file_, 0, MAX_FILE_LEN);
-    memcpy(file_, file, fileLen);
+    std::copy(&file[0], &file[fileLen], &file_[0]);
+    std::fill(&file_[fileLen], &file_[MAX_FILE_LEN], 0);
 
     // no need to store fileLen as any empty space is filled with 0s
 }
index 3a538872448402fbc90f25bfa3f93b9690df2b1f..77a2df41efd9b0eedbdf8c2b8f8af9a20f9bd002 100644 (file)
@@ -67,7 +67,7 @@ AllocEngine::IterativeAllocator::pickAddress(const Subnet6Ptr& subnet,
 
     const Pool6Collection& pools = subnet->getPools();
 
-    if (pools.size() == 0) {
+    if (pools.empty()) {
         isc_throw(AllocFailed, "No pools defined in selected subnet");
     }
 
index 7d6f4d152e3737b16f866c24c13dd701f94cce79..746ef005f14157e5e73c5cbc343c69d25ab02c6b 100644 (file)
@@ -469,7 +469,7 @@ public:
     ///
     /// @param leases Vector of pointers to leases
     template <typename T>
-    void checkLeasesDifferent(const std::vector<T> leases) const {
+    void checkLeasesDifferent(const std::vector<T>& leases) const {
 
         // Check they were created
         for (int i = 0; i < leases.size(); ++i) {