remove ms/.rnd and add it to .gitignore
[openssl.git] / apps / ts.c
index ac91323ac64bbd1cc266c4c7f3bb1ad037c923b6..ee04bb5ad8b3144b26f399c10239361bd8873be8 100644 (file)
--- a/apps/ts.c
+++ b/apps/ts.c
@@ -299,7 +299,6 @@ int ts_main(int argc, char **argv)
         }
     }
     argc = opt_num_rest();
-    argv = opt_rest();
     if (mode == OPT_ERR || argc != 0)
         goto opthelp;
 
@@ -523,17 +522,22 @@ static int create_digest(BIO *input, char *digest, const EVP_MD *md,
         return 0;
 
     if (input) {
-        EVP_MD_CTX md_ctx;
+        EVP_MD_CTX *md_ctx = EVP_MD_CTX_new();
         unsigned char buffer[4096];
         int length;
 
+        if (md_ctx == NULL)
+            return 0;
         *md_value = app_malloc(md_value_len, "digest buffer");
-        EVP_DigestInit(&md_ctx, md);
+        EVP_DigestInit(md_ctx, md);
         while ((length = BIO_read(input, buffer, sizeof(buffer))) > 0) {
-            EVP_DigestUpdate(&md_ctx, buffer, length);
+            EVP_DigestUpdate(md_ctx, buffer, length);
         }
-        if (!EVP_DigestFinal(&md_ctx, *md_value, NULL))
+        if (!EVP_DigestFinal(md_ctx, *md_value, NULL)) {
+            EVP_MD_CTX_free(md_ctx);
             return 0;
+        }
+        EVP_MD_CTX_free(md_ctx);
     } else {
         long digest_len;
         *md_value = string_to_hex(digest, &digest_len);