=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/openssl/cms.c,v retrieving revision 1.15 retrieving revision 1.16 diff -c -r1.15 -r1.16 *** src/usr.bin/openssl/cms.c 2019/11/18 12:43:27 1.15 --- src/usr.bin/openssl/cms.c 2019/11/19 10:28:18 1.16 *************** *** 1,4 **** ! /* $OpenBSD: cms.c,v 1.15 2019/11/18 12:43:27 inoguchi Exp $ */ /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project. */ --- 1,4 ---- ! /* $OpenBSD: cms.c,v 1.16 2019/11/19 10:28:18 inoguchi Exp $ */ /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project. */ *************** *** 274,289 **** if (!args[1]) goto argerr; args++; ! if (!rr_from) ! rr_from = sk_OPENSSL_STRING_new_null(); if (!sk_OPENSSL_STRING_push(rr_from, *args)) goto end; } else if (!strcmp(*args, "-receipt_request_to")) { if (!args[1]) goto argerr; args++; ! if (!rr_to) ! rr_to = sk_OPENSSL_STRING_new_null(); if (!sk_OPENSSL_STRING_push(rr_to, *args)) goto end; } else if (!strcmp(*args, "-print")) { --- 274,291 ---- if (!args[1]) goto argerr; args++; ! if (rr_from == NULL && ! (rr_from = sk_OPENSSL_STRING_new_null()) == NULL) ! goto end; if (!sk_OPENSSL_STRING_push(rr_from, *args)) goto end; } else if (!strcmp(*args, "-receipt_request_to")) { if (!args[1]) goto argerr; args++; ! if (rr_to == NULL && ! (rr_to = sk_OPENSSL_STRING_new_null()) == NULL) ! goto end; if (!sk_OPENSSL_STRING_push(rr_to, *args)) goto end; } else if (!strcmp(*args, "-print")) { *************** *** 348,362 **** /* If previous -signer argument add signer to list */ if (signerfile) { ! if (!sksigners) ! sksigners = ! sk_OPENSSL_STRING_new_null(); if (!sk_OPENSSL_STRING_push(sksigners, signerfile)) goto end; if (!keyfile) keyfile = signerfile; ! if (!skkeys) ! skkeys = sk_OPENSSL_STRING_new_null(); if (!sk_OPENSSL_STRING_push(skkeys, keyfile)) goto end; keyfile = NULL; --- 350,365 ---- /* If previous -signer argument add signer to list */ if (signerfile) { ! if (sksigners == NULL && ! (sksigners = sk_OPENSSL_STRING_new_null()) == NULL) ! goto end; if (!sk_OPENSSL_STRING_push(sksigners, signerfile)) goto end; if (!keyfile) keyfile = signerfile; ! if (skkeys == NULL && ! (skkeys = sk_OPENSSL_STRING_new_null()) == NULL) ! goto end; if (!sk_OPENSSL_STRING_push(skkeys, keyfile)) goto end; keyfile = NULL; *************** *** 402,415 **** "Illegal -inkey without -signer\n"); goto argerr; } ! if (!sksigners) ! sksigners = ! sk_OPENSSL_STRING_new_null(); if (!sk_OPENSSL_STRING_push(sksigners, signerfile)) goto end; signerfile = NULL; ! if (!skkeys) ! skkeys = sk_OPENSSL_STRING_new_null(); if (!sk_OPENSSL_STRING_push(skkeys, keyfile)) goto end; } --- 405,419 ---- "Illegal -inkey without -signer\n"); goto argerr; } ! if (sksigners == NULL && ! (sksigners = sk_OPENSSL_STRING_new_null()) == NULL) ! goto end; if (!sk_OPENSSL_STRING_push(sksigners, signerfile)) goto end; signerfile = NULL; ! if (skkeys == NULL && ! (skkeys = sk_OPENSSL_STRING_new_null()) == NULL) ! goto end; if (!sk_OPENSSL_STRING_push(skkeys, keyfile)) goto end; } *************** *** 513,524 **** } /* Check to see if any final signer needs to be appended */ if (signerfile) { ! if (!sksigners) ! sksigners = sk_OPENSSL_STRING_new_null(); if (!sk_OPENSSL_STRING_push(sksigners, signerfile)) goto end; ! if (!skkeys) ! skkeys = sk_OPENSSL_STRING_new_null(); if (!keyfile) keyfile = signerfile; if (!sk_OPENSSL_STRING_push(skkeys, keyfile)) --- 517,530 ---- } /* Check to see if any final signer needs to be appended */ if (signerfile) { ! if (sksigners == NULL && ! (sksigners = sk_OPENSSL_STRING_new_null()) == NULL) ! goto end; if (!sk_OPENSSL_STRING_push(sksigners, signerfile)) goto end; ! if (skkeys == NULL && ! (skkeys = sk_OPENSSL_STRING_new_null()) == NULL) ! goto end; if (!keyfile) keyfile = signerfile; if (!sk_OPENSSL_STRING_push(skkeys, keyfile)) *************** *** 643,650 **** BIO_printf(bio_err, "No secret key id\n"); goto end; } ! if (*args && !encerts) ! encerts = sk_X509_new_null(); while (*args) { if (!(cert = load_cert(bio_err, *args, FORMAT_PEM, NULL, "recipient certificate file"))) --- 649,657 ---- BIO_printf(bio_err, "No secret key id\n"); goto end; } ! if (*args && encerts == NULL) ! if ((encerts = sk_X509_new_null()) == NULL) ! goto end; while (*args) { if (!(cert = load_cert(bio_err, *args, FORMAT_PEM, NULL, "recipient certificate file"))) *************** *** 1190,1197 **** STACK_OF(GENERAL_NAMES) *ret; GENERAL_NAMES *gens = NULL; GENERAL_NAME *gen = NULL; ! ret = sk_GENERAL_NAMES_new_null(); ! if (!ret) goto err; for (i = 0; i < sk_OPENSSL_STRING_num(ns); i++) { char *str = sk_OPENSSL_STRING_value(ns, i); --- 1197,1203 ---- STACK_OF(GENERAL_NAMES) *ret; GENERAL_NAMES *gens = NULL; GENERAL_NAME *gen = NULL; ! if ((ret = sk_GENERAL_NAMES_new_null()) == NULL) goto err; for (i = 0; i < sk_OPENSSL_STRING_num(ns); i++) { char *str = sk_OPENSSL_STRING_value(ns, i);