rlm_eap_pwd: initialise HMAC context
authorMatthew Newton <matthew-git@newtoncomputing.co.uk>
Thu, 12 Jan 2017 12:52:33 +0000 (12:52 +0000)
committerMatthew Newton <matthew-git@newtoncomputing.co.uk>
Thu, 12 Jan 2017 13:04:29 +0000 (13:04 +0000)
Closes #1876

src/modules/rlm_eap/types/rlm_eap_pwd/eap_pwd.c

index 4b19cbb..c7b303f 100644 (file)
@@ -45,6 +45,8 @@ static void H_Init(HMAC_CTX *ctx)
        uint8_t allzero[SHA256_DIGEST_LENGTH];
 
        memset(allzero, 0, SHA256_DIGEST_LENGTH);
+
+       HMAC_CTX_init(ctx);
        HMAC_Init_ex(ctx, allzero, SHA256_DIGEST_LENGTH, EVP_sha256(), NULL);
 }
 
@@ -76,6 +78,7 @@ static void eap_pwd_kdf(uint8_t *key, int keylen, char const *label, int labelle
        L = htons(resultbitlen);
        while (len < resultbytelen) {
                ctr++; i = htons(ctr);
+               HMAC_CTX_init(&hctx);
                HMAC_Init_ex(&hctx, key, keylen, EVP_sha256(), NULL);
                if (ctr > 1) {
                        HMAC_Update(&hctx, digest, mdlen);