]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Fix minor issues reported by `cppcheck` 5164/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 2 Mar 2017 14:07:56 +0000 (15:07 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 16 Mar 2017 17:25:05 +0000 (18:25 +0100)
(cherry picked from commit d7c676a5d42d5d7e5078a8662d355c9a782bdb51)

pdns/arguments.cc
pdns/iputils.hh
pdns/nproxy.cc
pdns/pdns_recursor.cc
pdns/qtype.cc

index 491e018b80b1eff470bc31dde4e901c3a96bdce9..10c522ab7e1c78ade0a16136d0ec23ae5877c679 100644 (file)
@@ -495,6 +495,7 @@ void ArgvMap::gatherIncludes(std::vector<std::string> &extraConfigs) {
         // ensure it's readable file
         if (stat(namebuf.str().c_str(), &st) || !S_ISREG(st.st_mode)) {
           L << Logger::Error << namebuf.str() << " is not a file" << std::endl;
+          closedir(dir);
           throw ArgException(namebuf.str() + " does not exist!");
         }
         extraConfigs.push_back(namebuf.str());
index e51acae93a5fbddbeb0b08851b5faa32a6952fce..683d9e9bfb1d6dbabea2695e84db1d7adc22b360 100644 (file)
@@ -711,8 +711,12 @@ public:
         bits++;
       }
       if (node) {
-        for(auto it = _nodes.begin(); it != _nodes.end(); it++)
-           if (node->node4.get() == *it) _nodes.erase(it);
+        for(auto it = _nodes.begin(); it != _nodes.end(); ) {
+          if (node->node4.get() == *it)
+            it = _nodes.erase(it);
+          else
+            it++;
+        }
         node->node4.reset();
       }
     } else {
@@ -732,8 +736,13 @@ public:
         bits++;
       }
       if (node) {
-        for(auto it = _nodes.begin(); it != _nodes.end(); it++)
-           if (node->node6.get() == *it) _nodes.erase(it);
+        for(auto it = _nodes.begin(); it != _nodes.end(); ) {
+          if (node->node6.get() == *it)
+            it = _nodes.erase(it);
+          else
+            it++;
+        }
+
         node->node6.reset();
       }
     }
index cf91e0a03019cdbe1b208581c6112bca444a30da..b31387a73bbeb928b454e4c0476fad86feb97584 100644 (file)
@@ -78,9 +78,11 @@ try
 {
   char buffer[1500];
   struct NotificationInFlight nif;
+  /* make sure we report enough room for IPv6 */
+  nif.source.sin4.sin_family = AF_INET6;
   nif.origSocket = fd;
 
-  socklen_t socklen=sizeof(nif.source);
+  socklen_t socklen=nif.source.getSocklen();
 
   int res=recvfrom(fd, buffer, sizeof(buffer), 0, (struct sockaddr*)&nif.source, &socklen);
   if(!res)
@@ -149,8 +151,10 @@ try
 {
   char buffer[1500];
   struct NotificationInFlight nif;
+  /* make sure we report enough room for IPv6 */
+  nif.source.sin4.sin_family = AF_INET6;
 
-  socklen_t socklen=sizeof(nif.source);
+  socklen_t socklen=nif.source.getSocklen();
 
   int len=recvfrom(fd, buffer, sizeof(buffer), 0, (struct sockaddr*)&nif.source, &socklen);
   if(!len)
index fc74774625fbfdc729ed9963ab2fc35ad506158f..02ec0b97be8cb0b1240f8d16c22d4322a8ba15b5 100644 (file)
@@ -2110,9 +2110,12 @@ void handlePipeRequest(int fd, FDMultiplexer::funcparam_t& var)
     if(g_logCommonErrors)
       L<<Logger::Error<<"PIPE function we executed created PDNS exception: "<<e.reason<<endl; // but what if they wanted an answer.. we send 0
   }
-  if(tmsg->wantAnswer)
-    if(write(g_pipes[t_id].writeFromThread, &resp, sizeof(resp)) != sizeof(resp))
+  if(tmsg->wantAnswer) {
+    if(write(g_pipes[t_id].writeFromThread, &resp, sizeof(resp)) != sizeof(resp)) {
+      delete tmsg;
       unixDie("write to thread pipe returned wrong size or error");
+    }
+  }
 
   delete tmsg;
 }
index 9bd671db7fddf91f712e64a410d4588ebe969aeb..70240fd7042fe71bc65cbc7015ea135208c1dbeb 100644 (file)
@@ -110,8 +110,7 @@ QType &QType::operator=(const string &s)
 }
 
 
-QType::QType(uint16_t n)
+QType::QType(uint16_t n): QType()
 {
-  QType();
   code=n;
 }