summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/util/crypto/nss/nss_hmac_sha1.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/util/crypto/nss/nss_hmac_sha1.c b/src/util/crypto/nss/nss_hmac_sha1.c
index 6faa09ae..7074fe76 100644
--- a/src/util/crypto/nss/nss_hmac_sha1.c
+++ b/src/util/crypto/nss/nss_hmac_sha1.c
@@ -63,7 +63,9 @@ int sss_hmac_sha1(const unsigned char *key,
} else {
/* keys shorter than blocksize are zero-padded */
memcpy(ikey, key, key_len);
- memset(ikey + key_len, 0, HMAC_SHA1_BLOCKSIZE - key_len);
+ if (key_len != HMAC_SHA1_BLOCKSIZE) {
+ memset(ikey + key_len, 0, HMAC_SHA1_BLOCKSIZE - key_len);
+ }
}
/* HMAC(key, msg) = HASH(key XOR opad, HASH(key XOR ipad, msg)) */