]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Fixed coverity issues 1082470 thru 1082475 997/head
authorAki Tuomi <cmouse@desteem.org>
Fri, 6 Sep 2013 14:38:28 +0000 (17:38 +0300)
committerAki Tuomi <cmouse@desteem.org>
Fri, 6 Sep 2013 14:38:28 +0000 (17:38 +0300)
pdns/dnssecinfra.cc

index 86b99e0c49b32fbd134a592142aabaa3be0bc517..0c19fd6d89e4bd0ae133ce855b67bbc1dc885c20 100644 (file)
@@ -465,6 +465,7 @@ string calculateSHAHMAC(const std::string& key, const std::string& text, TSIGHas
       sha1_hmac_update(&ctx, reinterpret_cast<const unsigned char*>(text.c_str()), text.size());
       sha1_hmac_finish(&ctx, hash);
       res.assign(reinterpret_cast<const char*>(hash), 20);
+      break;
   };
   case TSIG_SHA224:
   {
@@ -472,7 +473,8 @@ string calculateSHAHMAC(const std::string& key, const std::string& text, TSIGHas
       sha2_hmac_starts(&ctx, reinterpret_cast<const unsigned char*>(key.c_str()), key.size(), 1);
       sha2_hmac_update(&ctx, reinterpret_cast<const unsigned char*>(text.c_str()), text.size());
       sha2_hmac_finish(&ctx, hash);
-      res.assign(reinterpret_cast<const char*>(hash), 32);
+      res.assign(reinterpret_cast<const char*>(hash), 28);
+      break;
   };
   case TSIG_SHA256:
   {
@@ -481,6 +483,7 @@ string calculateSHAHMAC(const std::string& key, const std::string& text, TSIGHas
       sha2_hmac_update(&ctx, reinterpret_cast<const unsigned char*>(text.c_str()), text.size());
       sha2_hmac_finish(&ctx, hash);
       res.assign(reinterpret_cast<const char*>(hash), 32);
+      break;
   };
   case TSIG_SHA384:
   {
@@ -488,7 +491,8 @@ string calculateSHAHMAC(const std::string& key, const std::string& text, TSIGHas
       sha4_hmac_starts(&ctx, reinterpret_cast<const unsigned char*>(key.c_str()), key.size(), 1);
       sha4_hmac_update(&ctx, reinterpret_cast<const unsigned char*>(text.c_str()), text.size());
       sha4_hmac_finish(&ctx, hash);
-      res.assign(reinterpret_cast<const char*>(hash), 64);
+      res.assign(reinterpret_cast<const char*>(hash), 48);
+      break;
   };
   case TSIG_SHA512:
   {
@@ -497,12 +501,13 @@ string calculateSHAHMAC(const std::string& key, const std::string& text, TSIGHas
       sha4_hmac_update(&ctx, reinterpret_cast<const unsigned char*>(text.c_str()), text.size());
       sha4_hmac_finish(&ctx, hash);
       res.assign(reinterpret_cast<const char*>(hash), 64);
+      break;
   };
   default:
     throw new PDNSException("Unknown hash algorithm requested for SHA");
   };
 
-  return std::string("");
+  return res;
 }
 
 string calculateHMAC(const std::string& key_, const std::string& text, TSIGHashEnum hash) {