]> granicus.if.org Git - pdns/commitdiff
Fix coverity nits
authorRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 16 Feb 2017 12:59:54 +0000 (13:59 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 17 Feb 2017 09:06:55 +0000 (10:06 +0100)
modules/gpgsqlbackend/spgsql.cc
pdns/dbdnsseckeeper.cc
pdns/dnsdist-tcp.cc
pdns/dnspacket.cc
pdns/rfc2136handler.cc

index 724c4e705612218be8f142124dbf0ce1958973ce..2b400403957cbb6734ceca5509ba409485c6e1ed 100644 (file)
@@ -32,7 +32,6 @@
 #include "pdns/namespaces.hh"
 #include <algorithm>
 
-
 class SPgSQLStatement: public SSqlStatement
 {
 public:
@@ -47,6 +46,11 @@ public:
     paramValues = NULL;
     paramLengths = NULL;
     d_do_commit = false;
+    d_paridx = 0;
+    d_residx = 0;
+    d_resnum = 0;
+    d_fnum = 0;
+    d_cur_set = 0;
   }
 
   SSqlStatement* bind(const string& name, bool value) { return bind(name, string(value ? "t" : "f")); }
index ea9b6ff06e8cc0bbf6595cf7a4ea6b39c3fb6586..d3bfff37373d2a2480a829dc1f35426f7d26bbfc 100644 (file)
@@ -261,9 +261,7 @@ bool DNSSECKeeper::getNSEC3PARAM(const DNSName& zname, NSEC3PARAMRecordContent*
 
   static int maxNSEC3Iterations=::arg().asNum("max-nsec3-iterations");
   if(ns3p) {
-    NSEC3PARAMRecordContent* tmp=dynamic_cast<NSEC3PARAMRecordContent*>(DNSRecordContent::mastermake(QType::NSEC3PARAM, 1, value));
-    *ns3p = *tmp;
-    delete tmp;
+    *ns3p = NSEC3PARAMRecordContent(value);
     if (ns3p->d_iterations > maxNSEC3Iterations) {
       ns3p->d_iterations = maxNSEC3Iterations;
       L<<Logger::Error<<"Number of NSEC3 iterations for zone '"<<zname<<"' is above 'max-nsec3-iterations'. Value adjusted to: "<<maxNSEC3Iterations<<endl;
index 3d2bfef7a04d700793798e8f847f929f5722935e..2e2eac64f5e1fbaec4872adf7b62400349187a3d 100644 (file)
@@ -589,8 +589,10 @@ void* tcpClientThread(int pipefd)
   drop:;
     
     vinfolog("Closing TCP client connection with %s", ci.remote.toStringWithPort());
-    close(ci.fd); 
-    ci.fd=-1;
+    if (ci.fd >= 0) {
+      close(ci.fd);
+    }
+    ci.fd = -1;
     if (ds && outstanding) {
       outstanding = false;
       --ds->outstanding;
index 64619d7210390b1afef9a426cae1d6ebf67d3768..32e5af1bb2b6c1fab92f3d404f0fa66e6bb872a6 100644 (file)
@@ -128,6 +128,8 @@ DNSPacket::DNSPacket(const DNSPacket &orig)
   d_rawpacket=orig.d_rawpacket;
   d_tsig_algo=orig.d_tsig_algo;
   d=orig.d;
+
+  d_isQuery = orig.d_isQuery;
 }
 
 void DNSPacket::setRcode(int v)
index 587a108a5e6bf8881d418f0f68a6278f51b48b92..4b20dd8b539be9513307b2a009003f15e0f76b8c 100644 (file)
@@ -657,10 +657,10 @@ int PacketHandler::forwardPacket(const string &msgPrefix, DNSPacket *p, DomainIn
       continue;
     }
 
-    char lenBuf[2];
-    int recvRes;
+    unsigned char lenBuf[2];
+    ssize_t recvRes;
     recvRes = recv(sock, &lenBuf, sizeof(lenBuf), 0);
-    if (recvRes < 0) {
+    if (recvRes < 0 || static_cast<size_t>(recvRes) < sizeof(lenBuf)) {
       L<<Logger::Error<<msgPrefix<<"Could not receive data (length) from master at "<<remote.toStringWithPort()<<", error:"<<stringerror()<<endl;
       try {
         closesocket(sock);
@@ -670,8 +670,7 @@ int PacketHandler::forwardPacket(const string &msgPrefix, DNSPacket *p, DomainIn
       }
       continue;
     }
-    int packetLen = lenBuf[0]*256+lenBuf[1];
-
+    size_t packetLen = lenBuf[0]*256+lenBuf[1];
 
     char buf[packetLen];
     recvRes = recv(sock, &buf, packetLen, 0);
@@ -693,7 +692,7 @@ int PacketHandler::forwardPacket(const string &msgPrefix, DNSPacket *p, DomainIn
     }
 
     try {
-      MOADNSParser mdp(false, buf, recvRes);
+      MOADNSParser mdp(false, buf, static_cast<unsigned int>(recvRes));
       L<<Logger::Info<<msgPrefix<<"Forward update message to "<<remote.toStringWithPort()<<", result was RCode "<<mdp.d_header.rcode<<endl;
       return mdp.d_header.rcode;
     }