- if (!EVP_VerifyInit_ex(&ctx,type, NULL)
- || !EVP_VerifyUpdate(&ctx,(unsigned char *)buf_in,inl))
+ ret=
+ EVP_VerifyInit_ex(&ctx,type, NULL)
+ && EVP_VerifyUpdate(&ctx,(unsigned char *)buf_in,inl);
+
+ OPENSSL_cleanse(buf_in,(unsigned int)inl);
+ OPENSSL_free(buf_in);
+
+ if (!ret)