1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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;
}
|