- EVP_MD_CTX_init(&mdctx);
- EVP_DigestInit_ex(&mdctx, md, NULL);
- EVP_DigestUpdate(&mdctx, hashbuf, buf_len);
- EVP_DigestFinal_ex(&mdctx, shared_key, NULL);
- EVP_MD_CTX_cleanup(&mdctx);
+ EVP_MD_CTX_init(mdctx);
+ EVP_DigestInit_ex(mdctx, md, NULL);
+ EVP_DigestUpdate(mdctx, databuf, buf_len);
+ EVP_DigestFinal_ex(mdctx, shared_key, NULL);
+ ret = 32;
+