diff --git a/libdroplet/src/utils.c b/libdroplet/src/utils.c index 6c0738d..b2fac52 100644 --- a/libdroplet/src/utils.c +++ b/libdroplet/src/utils.c @@ -475,14 +475,13 @@ dpl_hmac_sha1(const char *key_buf, unsigned int data_len, char *digest_buf) { - HMAC_CTX ctx; + HMAC_CTX *ctx = HMAC_CTX_new(); u_int digest_len; - HMAC_CTX_init(&ctx); - HMAC_Init_ex(&ctx, key_buf, key_len, EVP_sha1(), NULL); - HMAC_Update(&ctx, (u_char *) data_buf, data_len); - HMAC_Final(&ctx, (u_char *) digest_buf, &digest_len); - HMAC_CTX_cleanup(&ctx); + HMAC_Init_ex(ctx, key_buf, key_len, EVP_sha1(), NULL); + HMAC_Update(ctx, (u_char *) data_buf, data_len); + HMAC_Final(ctx, (u_char *) digest_buf, &digest_len); + HMAC_CTX_free(ctx); return digest_len; }