summaryrefslogtreecommitdiff
path: root/security/libtcpa/patches/patch-examples_takeown.c
blob: 26b33e2cf444d5dca99647a964caac19af38afc6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$NetBSD: patch-examples_takeown.c,v 1.1 2020/03/27 20:57:12 joerg Exp $

--- examples/takeown.c.orig	2020-03-27 18:49:41.521284560 +0000
+++ examples/takeown.c
@@ -19,7 +19,7 @@ int main(int argc, char *argv[])
     keydata srk;
     RSA *rsa;                   /* OpenSSL format Public Key */
     FILE *keyfile;              /* output file for public key */
-    EVP_PKEY pkey;              /* OpenSSL public key */
+    EVP_PKEY *pkey;              /* OpenSSL public key */
 
     if (argc < 3) {
         fprintf(stderr, "Usage: takeown <ownerpass> <SRK password>\n");
@@ -42,18 +42,20 @@ int main(int argc, char *argv[])
         exit(3);
     }
     OpenSSL_add_all_algorithms();
-    EVP_PKEY_assign_RSA(&pkey, rsa);
+    pkey = EVP_PKEY_new();
+    EVP_PKEY_assign_RSA(pkey, rsa);
     keyfile = fopen("srootkey.pem", "w");
     if (keyfile == NULL) {
         fprintf(stderr, "Unable to create public key file\n");
         exit(4);
     }
-    ret = PEM_write_PUBKEY(keyfile, &pkey);
+    ret = PEM_write_PUBKEY(keyfile, pkey);
     if (ret == 0) {
         fprintf(stderr, "Unable to write public key file\n");
         exit(5);
     }
     fclose(keyfile);
     RSA_free(rsa);
+    EVP_PKEY_free(pkey);
     exit(0);
 }