summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/usr.bin/openssl/cms.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/usr.bin/openssl/cms.c b/src/usr.bin/openssl/cms.c
index 9e955cf1ac..79728e0b5e 100644
--- a/src/usr.bin/openssl/cms.c
+++ b/src/usr.bin/openssl/cms.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cms.c,v 1.26 2022/01/06 11:46:05 inoguchi Exp $ */ 1/* $OpenBSD: cms.c,v 1.27 2022/01/06 12:54:51 inoguchi Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project. 3 * project.
4 */ 4 */
@@ -209,6 +209,8 @@ cms_opt_cipher(int argc, char **argv, int *argsused)
209static int 209static int
210cms_opt_econtent_type(char *arg) 210cms_opt_econtent_type(char *arg)
211{ 211{
212 ASN1_OBJECT_free(cms_config.econtent_type);
213
212 if ((cms_config.econtent_type = OBJ_txt2obj(arg, 0)) == NULL) { 214 if ((cms_config.econtent_type = OBJ_txt2obj(arg, 0)) == NULL) {
213 BIO_printf(bio_err, "Invalid OID %s\n", arg); 215 BIO_printf(bio_err, "Invalid OID %s\n", arg);
214 return (1); 216 return (1);
@@ -377,6 +379,8 @@ cms_opt_secretkey(char *arg)
377{ 379{
378 long ltmp; 380 long ltmp;
379 381
382 free(cms_config.secret_key);
383
380 if ((cms_config.secret_key = string_to_hex(arg, &ltmp)) == NULL) { 384 if ((cms_config.secret_key = string_to_hex(arg, &ltmp)) == NULL) {
381 BIO_printf(bio_err, "Invalid key %s\n", arg); 385 BIO_printf(bio_err, "Invalid key %s\n", arg);
382 return (1); 386 return (1);
@@ -390,6 +394,8 @@ cms_opt_secretkeyid(char *arg)
390{ 394{
391 long ltmp; 395 long ltmp;
392 396
397 free(cms_config.secret_keyid);
398
393 if ((cms_config.secret_keyid = string_to_hex(arg, &ltmp)) == NULL) { 399 if ((cms_config.secret_keyid = string_to_hex(arg, &ltmp)) == NULL) {
394 BIO_printf(bio_err, "Invalid id %s\n", arg); 400 BIO_printf(bio_err, "Invalid id %s\n", arg);
395 return (1); 401 return (1);