]> granicus.if.org Git - pdns/commitdiff
Small fixes reported by coverity
authorRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 14 Mar 2016 10:38:34 +0000 (11:38 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 14 Mar 2016 10:38:34 +0000 (11:38 +0100)
pdns/delaypipe.cc
pdns/dnsrecords.hh
pdns/nsecrecords.cc
pdns/pdns_recursor.cc
pdns/syncres.cc

index 333a08ea5ef87189f7f69b869ebd9328f4c32730..dda8d074fe6fba8e2727ab2d94da83c6e35c4dd0 100644 (file)
@@ -30,8 +30,10 @@ template<class T>
 void ObjectPipe<T>::write(T& t)
 {
   auto ptr = new T(t);
-  if(::write(d_fds[1], &ptr, sizeof(ptr)) != sizeof(ptr))
+  if(::write(d_fds[1], &ptr, sizeof(ptr)) != sizeof(ptr)) {
+    delete ptr;
     unixDie("write");
+  }
 }
 
 template<class T>
index 91df95aab35ed45ffe16968a1851d70aae4dc1d8..afaeef9fab1aff8f389d09ca82b14361b05e9c7a 100644 (file)
@@ -498,8 +498,6 @@ public:
   string d_salt;
   string d_nexthash;
   std::set<uint16_t> d_set;
-  uint8_t d_saltlength;
-  uint8_t d_nexthashlength;
 
   uint16_t getType() const override
   {
@@ -533,7 +531,6 @@ public:
   uint8_t d_algorithm, d_flags;
   uint16_t d_iterations;
   string d_salt;
-  uint8_t d_saltlength;
 };
 
 
index 5aaf2d0b0ca4952f98208a0cea1d6097a750c35b..ebbd14724f5bdbaa7b9f95eb9d93907347671656 100644 (file)
@@ -282,9 +282,9 @@ NSEC3PARAMRecordContent::DNSRecordContent* NSEC3PARAMRecordContent::make(const D
   pr.xfr8BitInt(ret->d_algorithm); 
         pr.xfr8BitInt(ret->d_flags); 
         pr.xfr16BitInt(ret->d_iterations); 
-  pr.xfr8BitInt(ret->d_saltlength);
-  pr.xfrHexBlob(ret->d_salt);
+  uint8_t len;
+  pr.xfr8BitInt(len);
+  pr.xfrHexBlob(ret->d_salt, len);
   return ret;
 }
 
index fd6e453ed0ebcc5f81b13dfd619f9b6760c1c6cd..47a8c7ca8b6c57424c4b175a91afdedabfa6495b 100644 (file)
@@ -188,7 +188,7 @@ struct DNSComboWriter {
   ComboAddress d_remote, d_local;
   bool d_tcp;
   int d_socket;
-  int d_tag;
+  int d_tag{0};
   string d_query;
   shared_ptr<TCPConnection> d_tcpConnection;
   vector<pair<uint16_t, string> > d_ednsOpts;
index b11ce73c8a5e3beb67c5712777f088dec43cac12..11f3b1fff50fd21a66b4fccb51b5bd3fcd446fc0 100644 (file)
@@ -283,6 +283,9 @@ bool SyncRes::doOOBResolve(const DNSName &qname, const QType &qtype, vector<DNSR
 void SyncRes::doEDNSDumpAndClose(int fd)
 {
   FILE* fp=fdopen(fd, "w");
+  if (!fp) {
+    return;
+  }
   fprintf(fp,"IP Address\tMode\tMode last updated at\n");
   for(const auto& eds : t_sstorage->ednsstatus) {
     fprintf(fp, "%s\t%d\t%s", eds.first.toString().c_str(), (int)eds.second.mode, ctime(&eds.second.modeSetAt));