From 637a1fd4ecdf37add147a156f5ba0087ab3593d0 Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Fri, 6 Sep 2013 17:38:28 +0300 Subject: [PATCH] Fixed coverity issues 1082470 thru 1082475 --- pdns/dnssecinfra.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pdns/dnssecinfra.cc b/pdns/dnssecinfra.cc index 86b99e0c49..0c19fd6d89 100644 --- a/pdns/dnssecinfra.cc +++ b/pdns/dnssecinfra.cc @@ -465,6 +465,7 @@ string calculateSHAHMAC(const std::string& key, const std::string& text, TSIGHas sha1_hmac_update(&ctx, reinterpret_cast(text.c_str()), text.size()); sha1_hmac_finish(&ctx, hash); res.assign(reinterpret_cast(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(key.c_str()), key.size(), 1); sha2_hmac_update(&ctx, reinterpret_cast(text.c_str()), text.size()); sha2_hmac_finish(&ctx, hash); - res.assign(reinterpret_cast(hash), 32); + res.assign(reinterpret_cast(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(text.c_str()), text.size()); sha2_hmac_finish(&ctx, hash); res.assign(reinterpret_cast(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(key.c_str()), key.size(), 1); sha4_hmac_update(&ctx, reinterpret_cast(text.c_str()), text.size()); sha4_hmac_finish(&ctx, hash); - res.assign(reinterpret_cast(hash), 64); + res.assign(reinterpret_cast(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(text.c_str()), text.size()); sha4_hmac_finish(&ctx, hash); res.assign(reinterpret_cast(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) { -- 2.47.2