summaryrefslogtreecommitdiff
path: root/src/usr.bin/openssl/smime.c
diff options
context:
space:
mode:
authorinoguchi <>2022-01-11 15:02:34 +0000
committerinoguchi <>2022-01-11 15:02:34 +0000
commitd27104b7d6008474061fd17b5c5843ce56b142f6 (patch)
tree0468f99570a8c42a81a1b9b3aa6e0f4968fa0142 /src/usr.bin/openssl/smime.c
parentfe27c47c1566095042721429fcd0d2d5a32c23f2 (diff)
downloadopenbsd-d27104b7d6008474061fd17b5c5843ce56b142f6.tar.gz
openbsd-d27104b7d6008474061fd17b5c5843ce56b142f6.tar.bz2
openbsd-d27104b7d6008474061fd17b5c5843ce56b142f6.zip
Compare pointer variable with NULL
Diffstat (limited to 'src/usr.bin/openssl/smime.c')
-rw-r--r--src/usr.bin/openssl/smime.c88
1 files changed, 44 insertions, 44 deletions
diff --git a/src/usr.bin/openssl/smime.c b/src/usr.bin/openssl/smime.c
index 65b4ac079f..0783ebafa9 100644
--- a/src/usr.bin/openssl/smime.c
+++ b/src/usr.bin/openssl/smime.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: smime.c,v 1.12 2022/01/11 14:35:14 inoguchi Exp $ */ 1/* $OpenBSD: smime.c,v 1.13 2022/01/11 15:02:34 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 */
@@ -738,39 +738,39 @@ smime_main(int argc, char **argv)
738 args = argv + argsused; 738 args = argv + argsused;
739 ret = 1; 739 ret = 1;
740 740
741 if (!(smime_config.operation & SMIME_SIGNERS) && (smime_config.skkeys || smime_config.sksigners)) { 741 if (!(smime_config.operation & SMIME_SIGNERS) && (smime_config.skkeys != NULL || smime_config.sksigners != NULL)) {
742 BIO_puts(bio_err, "Multiple signers or keys not allowed\n"); 742 BIO_puts(bio_err, "Multiple signers or keys not allowed\n");
743 goto argerr; 743 goto argerr;
744 } 744 }
745 if (smime_config.operation & SMIME_SIGNERS) { 745 if (smime_config.operation & SMIME_SIGNERS) {
746 /* Check to see if any final signer needs to be appended */ 746 /* Check to see if any final signer needs to be appended */
747 if (smime_config.keyfile && !smime_config.signerfile) { 747 if (smime_config.keyfile != NULL && smime_config.signerfile == NULL) {
748 BIO_puts(bio_err, "Illegal -inkey without -signer\n"); 748 BIO_puts(bio_err, "Illegal -inkey without -signer\n");
749 goto argerr; 749 goto argerr;
750 } 750 }
751 if (smime_config.signerfile) { 751 if (smime_config.signerfile != NULL) {
752 if (!smime_config.sksigners) 752 if (smime_config.sksigners == NULL)
753 smime_config.sksigners = sk_OPENSSL_STRING_new_null(); 753 smime_config.sksigners = sk_OPENSSL_STRING_new_null();
754 sk_OPENSSL_STRING_push(smime_config.sksigners, smime_config.signerfile); 754 sk_OPENSSL_STRING_push(smime_config.sksigners, smime_config.signerfile);
755 if (!smime_config.skkeys) 755 if (smime_config.skkeys == NULL)
756 smime_config.skkeys = sk_OPENSSL_STRING_new_null(); 756 smime_config.skkeys = sk_OPENSSL_STRING_new_null();
757 if (!smime_config.keyfile) 757 if (smime_config.keyfile == NULL)
758 smime_config.keyfile = smime_config.signerfile; 758 smime_config.keyfile = smime_config.signerfile;
759 sk_OPENSSL_STRING_push(smime_config.skkeys, smime_config.keyfile); 759 sk_OPENSSL_STRING_push(smime_config.skkeys, smime_config.keyfile);
760 } 760 }
761 if (!smime_config.sksigners) { 761 if (smime_config.sksigners == NULL) {
762 BIO_printf(bio_err, "No signer certificate specified\n"); 762 BIO_printf(bio_err, "No signer certificate specified\n");
763 badarg = 1; 763 badarg = 1;
764 } 764 }
765 smime_config.signerfile = NULL; 765 smime_config.signerfile = NULL;
766 smime_config.keyfile = NULL; 766 smime_config.keyfile = NULL;
767 } else if (smime_config.operation == SMIME_DECRYPT) { 767 } else if (smime_config.operation == SMIME_DECRYPT) {
768 if (!smime_config.recipfile && !smime_config.keyfile) { 768 if (smime_config.recipfile == NULL && smime_config.keyfile == NULL) {
769 BIO_printf(bio_err, "No recipient certificate or key specified\n"); 769 BIO_printf(bio_err, "No recipient certificate or key specified\n");
770 badarg = 1; 770 badarg = 1;
771 } 771 }
772 } else if (smime_config.operation == SMIME_ENCRYPT) { 772 } else if (smime_config.operation == SMIME_ENCRYPT) {
773 if (!*args) { 773 if (*args == NULL) {
774 BIO_printf(bio_err, "No recipient(s) certificate(s) specified\n"); 774 BIO_printf(bio_err, "No recipient(s) certificate(s) specified\n");
775 badarg = 1; 775 badarg = 1;
776 } 776 }
@@ -809,7 +809,7 @@ smime_main(int argc, char **argv)
809 } 809 }
810 810
811 if (smime_config.operation == SMIME_ENCRYPT) { 811 if (smime_config.operation == SMIME_ENCRYPT) {
812 if (!smime_config.cipher) { 812 if (smime_config.cipher == NULL) {
813#ifndef OPENSSL_NO_RC2 813#ifndef OPENSSL_NO_RC2
814 smime_config.cipher = EVP_rc2_40_cbc(); 814 smime_config.cipher = EVP_rc2_40_cbc();
815#else 815#else
@@ -818,9 +818,9 @@ smime_main(int argc, char **argv)
818#endif 818#endif
819 } 819 }
820 encerts = sk_X509_new_null(); 820 encerts = sk_X509_new_null();
821 while (*args) { 821 while (*args != NULL) {
822 if (!(cert = load_cert(bio_err, *args, FORMAT_PEM, 822 if ((cert = load_cert(bio_err, *args, FORMAT_PEM,
823 NULL, "recipient certificate file"))) { 823 NULL, "recipient certificate file")) == NULL) {
824 goto end; 824 goto end;
825 } 825 }
826 sk_X509_push(encerts, cert); 826 sk_X509_push(encerts, cert);
@@ -828,37 +828,37 @@ smime_main(int argc, char **argv)
828 args++; 828 args++;
829 } 829 }
830 } 830 }
831 if (smime_config.certfile) { 831 if (smime_config.certfile != NULL) {
832 if (!(other = load_certs(bio_err, smime_config.certfile, FORMAT_PEM, NULL, 832 if ((other = load_certs(bio_err, smime_config.certfile, FORMAT_PEM, NULL,
833 "certificate file"))) { 833 "certificate file")) == NULL) {
834 ERR_print_errors(bio_err); 834 ERR_print_errors(bio_err);
835 goto end; 835 goto end;
836 } 836 }
837 } 837 }
838 if (smime_config.recipfile && (smime_config.operation == SMIME_DECRYPT)) { 838 if (smime_config.recipfile != NULL && (smime_config.operation == SMIME_DECRYPT)) {
839 if (!(recip = load_cert(bio_err, smime_config.recipfile, FORMAT_PEM, NULL, 839 if ((recip = load_cert(bio_err, smime_config.recipfile, FORMAT_PEM, NULL,
840 "recipient certificate file"))) { 840 "recipient certificate file")) == NULL) {
841 ERR_print_errors(bio_err); 841 ERR_print_errors(bio_err);
842 goto end; 842 goto end;
843 } 843 }
844 } 844 }
845 if (smime_config.operation == SMIME_DECRYPT) { 845 if (smime_config.operation == SMIME_DECRYPT) {
846 if (!smime_config.keyfile) 846 if (smime_config.keyfile == NULL)
847 smime_config.keyfile = smime_config.recipfile; 847 smime_config.keyfile = smime_config.recipfile;
848 } else if (smime_config.operation == SMIME_SIGN) { 848 } else if (smime_config.operation == SMIME_SIGN) {
849 if (!smime_config.keyfile) 849 if (smime_config.keyfile == NULL)
850 smime_config.keyfile = smime_config.signerfile; 850 smime_config.keyfile = smime_config.signerfile;
851 } else 851 } else
852 smime_config.keyfile = NULL; 852 smime_config.keyfile = NULL;
853 853
854 if (smime_config.keyfile) { 854 if (smime_config.keyfile != NULL) {
855 key = load_key(bio_err, smime_config.keyfile, smime_config.keyform, 0, passin, 855 key = load_key(bio_err, smime_config.keyfile, smime_config.keyform, 0, passin,
856 "signing key file"); 856 "signing key file");
857 if (!key) 857 if (key == NULL)
858 goto end; 858 goto end;
859 } 859 }
860 if (smime_config.infile) { 860 if (smime_config.infile != NULL) {
861 if (!(in = BIO_new_file(smime_config.infile, inmode))) { 861 if ((in = BIO_new_file(smime_config.infile, inmode)) == NULL) {
862 BIO_printf(bio_err, 862 BIO_printf(bio_err,
863 "Can't open input file %s\n", smime_config.infile); 863 "Can't open input file %s\n", smime_config.infile);
864 goto end; 864 goto end;
@@ -878,20 +878,20 @@ smime_main(int argc, char **argv)
878 goto end; 878 goto end;
879 } 879 }
880 880
881 if (!p7) { 881 if (p7 == NULL) {
882 BIO_printf(bio_err, "Error reading S/MIME message\n"); 882 BIO_printf(bio_err, "Error reading S/MIME message\n");
883 goto end; 883 goto end;
884 } 884 }
885 if (smime_config.contfile) { 885 if (smime_config.contfile != NULL) {
886 BIO_free(indata); 886 BIO_free(indata);
887 if (!(indata = BIO_new_file(smime_config.contfile, "rb"))) { 887 if ((indata = BIO_new_file(smime_config.contfile, "rb")) == NULL) {
888 BIO_printf(bio_err, "Can't read content file %s\n", smime_config.contfile); 888 BIO_printf(bio_err, "Can't read content file %s\n", smime_config.contfile);
889 goto end; 889 goto end;
890 } 890 }
891 } 891 }
892 } 892 }
893 if (smime_config.outfile) { 893 if (smime_config.outfile != NULL) {
894 if (!(out = BIO_new_file(smime_config.outfile, outmode))) { 894 if ((out = BIO_new_file(smime_config.outfile, outmode)) == NULL) {
895 BIO_printf(bio_err, 895 BIO_printf(bio_err,
896 "Can't open output file %s\n", smime_config.outfile); 896 "Can't open output file %s\n", smime_config.outfile);
897 goto end; 897 goto end;
@@ -901,10 +901,10 @@ smime_main(int argc, char **argv)
901 } 901 }
902 902
903 if (smime_config.operation == SMIME_VERIFY) { 903 if (smime_config.operation == SMIME_VERIFY) {
904 if (!(store = setup_verify(bio_err, smime_config.CAfile, smime_config.CApath))) 904 if ((store = setup_verify(bio_err, smime_config.CAfile, smime_config.CApath)) == NULL)
905 goto end; 905 goto end;
906 X509_STORE_set_verify_cb(store, smime_cb); 906 X509_STORE_set_verify_cb(store, smime_cb);
907 if (smime_config.vpm) 907 if (smime_config.vpm != NULL)
908 X509_STORE_set1_param(store, smime_config.vpm); 908 X509_STORE_set1_param(store, smime_config.vpm);
909 } 909 }
910 ret = 3; 910 ret = 3;
@@ -927,7 +927,7 @@ smime_main(int argc, char **argv)
927 smime_config.flags |= PKCS7_STREAM; 927 smime_config.flags |= PKCS7_STREAM;
928 smime_config.flags |= PKCS7_PARTIAL; 928 smime_config.flags |= PKCS7_PARTIAL;
929 p7 = PKCS7_sign(NULL, NULL, other, in, smime_config.flags); 929 p7 = PKCS7_sign(NULL, NULL, other, in, smime_config.flags);
930 if (!p7) 930 if (p7 == NULL)
931 goto end; 931 goto end;
932 } else 932 } else
933 smime_config.flags |= PKCS7_REUSE_DIGEST; 933 smime_config.flags |= PKCS7_REUSE_DIGEST;
@@ -936,14 +936,14 @@ smime_main(int argc, char **argv)
936 smime_config.keyfile = sk_OPENSSL_STRING_value(smime_config.skkeys, i); 936 smime_config.keyfile = sk_OPENSSL_STRING_value(smime_config.skkeys, i);
937 signer = load_cert(bio_err, smime_config.signerfile, FORMAT_PEM, NULL, 937 signer = load_cert(bio_err, smime_config.signerfile, FORMAT_PEM, NULL,
938 "signer certificate"); 938 "signer certificate");
939 if (!signer) 939 if (signer == NULL)
940 goto end; 940 goto end;
941 key = load_key(bio_err, smime_config.keyfile, smime_config.keyform, 0, passin, 941 key = load_key(bio_err, smime_config.keyfile, smime_config.keyform, 0, passin,
942 "signing key file"); 942 "signing key file");
943 if (!key) 943 if (key == NULL)
944 goto end; 944 goto end;
945 if (!PKCS7_sign_add_signer(p7, signer, key, 945 if (PKCS7_sign_add_signer(p7, signer, key,
946 smime_config.sign_md, smime_config.flags)) 946 smime_config.sign_md, smime_config.flags) == NULL)
947 goto end; 947 goto end;
948 X509_free(signer); 948 X509_free(signer);
949 signer = NULL; 949 signer = NULL;
@@ -956,7 +956,7 @@ smime_main(int argc, char **argv)
956 goto end; 956 goto end;
957 } 957 }
958 } 958 }
959 if (!p7) { 959 if (p7 == NULL) {
960 BIO_printf(bio_err, "Error creating PKCS#7 structure\n"); 960 BIO_printf(bio_err, "Error creating PKCS#7 structure\n");
961 goto end; 961 goto end;
962 } 962 }
@@ -985,11 +985,11 @@ smime_main(int argc, char **argv)
985 } else if (smime_config.operation == SMIME_PK7OUT) 985 } else if (smime_config.operation == SMIME_PK7OUT)
986 PEM_write_bio_PKCS7(out, p7); 986 PEM_write_bio_PKCS7(out, p7);
987 else { 987 else {
988 if (smime_config.to) 988 if (smime_config.to != NULL)
989 BIO_printf(out, "To: %s\n", smime_config.to); 989 BIO_printf(out, "To: %s\n", smime_config.to);
990 if (smime_config.from) 990 if (smime_config.from != NULL)
991 BIO_printf(out, "From: %s\n", smime_config.from); 991 BIO_printf(out, "From: %s\n", smime_config.from);
992 if (smime_config.subject) 992 if (smime_config.subject != NULL)
993 BIO_printf(out, "Subject: %s\n", smime_config.subject); 993 BIO_printf(out, "Subject: %s\n", smime_config.subject);
994 if (smime_config.outformat == FORMAT_SMIME) { 994 if (smime_config.outformat == FORMAT_SMIME) {
995 if (smime_config.operation == SMIME_RESIGN) 995 if (smime_config.operation == SMIME_RESIGN)
@@ -1034,10 +1034,10 @@ save_certs(char *signerfile, STACK_OF(X509) *signers)
1034 int i; 1034 int i;
1035 BIO *tmp; 1035 BIO *tmp;
1036 1036
1037 if (!signerfile) 1037 if (signerfile == NULL)
1038 return 1; 1038 return 1;
1039 tmp = BIO_new_file(signerfile, "w"); 1039 tmp = BIO_new_file(signerfile, "w");
1040 if (!tmp) 1040 if (tmp == NULL)
1041 return 0; 1041 return 0;
1042 for (i = 0; i < sk_X509_num(signers); i++) 1042 for (i = 0; i < sk_X509_num(signers); i++)
1043 PEM_write_bio_X509(tmp, sk_X509_value(signers, i)); 1043 PEM_write_bio_X509(tmp, sk_X509_value(signers, i));