I would like to do some clean up for openssl(1) pkcs12. This diff changes pointer value checking to explicit comparison with NULL, and no functional changes here. This works fine for me on my local pc.
ok? Index: pkcs12.c =================================================================== RCS file: /cvs/src/usr.bin/openssl/pkcs12.c,v retrieving revision 1.18 diff -u -p -u -p -r1.18 pkcs12.c --- pkcs12.c 28 Mar 2022 11:02:49 -0000 1.18 +++ pkcs12.c 23 Apr 2022 04:08:55 -0000 @@ -556,7 +556,7 @@ pkcs12_main(int argc, char **argv) goto end; } - if (pkcs12_config.passarg) { + if (pkcs12_config.passarg != NULL) { if (pkcs12_config.export_cert) pkcs12_config.passargout = pkcs12_config.passarg; else @@ -567,13 +567,13 @@ pkcs12_main(int argc, char **argv) BIO_printf(bio_err, "Error getting passwords\n"); goto end; } - if (!cpass) { + if (cpass == NULL) { if (pkcs12_config.export_cert) cpass = passout; else cpass = passin; } - if (cpass) { + if (cpass != NULL) { mpass = cpass; pkcs12_config.noprompt = 1; } else { @@ -581,22 +581,22 @@ pkcs12_main(int argc, char **argv) mpass = macpass; } - if (!pkcs12_config.infile) + if (pkcs12_config.infile == NULL) in = BIO_new_fp(stdin, BIO_NOCLOSE); else in = BIO_new_file(pkcs12_config.infile, "rb"); - if (!in) { + if (in == NULL) { BIO_printf(bio_err, "Error opening input file %s\n", pkcs12_config.infile ? pkcs12_config.infile : "<stdin>"); perror(pkcs12_config.infile); goto end; } - if (!pkcs12_config.outfile) { + if (pkcs12_config.outfile == NULL) { out = BIO_new_fp(stdout, BIO_NOCLOSE); } else out = BIO_new_file(pkcs12_config.outfile, "wb"); - if (!out) { + if (out == NULL) { BIO_printf(bio_err, "Error opening output file %s\n", pkcs12_config.outfile ? pkcs12_config.outfile : "<stdout>"); perror(pkcs12_config.outfile); @@ -637,10 +637,10 @@ pkcs12_main(int argc, char **argv) if (!(pkcs12_config.options & NOCERTS)) { certs = load_certs(bio_err, pkcs12_config.infile, FORMAT_PEM, NULL, "certificates"); - if (!certs) + if (certs == NULL) goto export_end; - if (key) { + if (key != NULL) { /* Look for matching private key */ for (i = 0; i < sk_X509_num(certs); i++) { x = sk_X509_value(certs, i); @@ -654,7 +654,7 @@ pkcs12_main(int argc, char **argv) break; } } - if (!ucert) { + if (ucert == NULL) { BIO_printf(bio_err, "No certificate matches private key\n"); goto export_end; @@ -663,11 +663,11 @@ pkcs12_main(int argc, char **argv) } /* Add any more certificates asked for */ - if (pkcs12_config.certfile) { + if (pkcs12_config.certfile != NULL) { STACK_OF(X509) *morecerts = NULL; - if (!(morecerts = load_certs(bio_err, + if ((morecerts = load_certs(bio_err, pkcs12_config.certfile, FORMAT_PEM, NULL, - "certificates from certfile"))) + "certificates from certfile")) == NULL) goto export_end; while (sk_X509_num(morecerts) > 0) sk_X509_push(certs, sk_X509_shift(morecerts)); @@ -680,7 +680,7 @@ pkcs12_main(int argc, char **argv) int vret; STACK_OF(X509) *chain2; X509_STORE *store = X509_STORE_new(); - if (!store) { + if (store == NULL) { BIO_printf(bio_err, "Memory allocation error\n"); goto export_end; @@ -720,12 +720,12 @@ pkcs12_main(int argc, char **argv) X509_alias_set1(sk_X509_value(certs, i), catmp, -1); } - if (pkcs12_config.csp_name && key) + if (pkcs12_config.csp_name != NULL && key != NULL) EVP_PKEY_add1_attr_by_NID(key, NID_ms_csp_name, MBSTRING_ASC, (unsigned char *) pkcs12_config.csp_name, -1); - if (pkcs12_config.add_lmk && key) + if (pkcs12_config.add_lmk && key != NULL) EVP_PKEY_add1_attr_by_NID(key, NID_LocalKeySet, 0, NULL, -1); @@ -743,13 +743,13 @@ pkcs12_main(int argc, char **argv) certs, pkcs12_config.key_pbe, pkcs12_config.cert_pbe, pkcs12_config.iter, -1, pkcs12_config.keytype); - if (!p12) { + if (p12 == NULL) { ERR_print_errors(bio_err); goto export_end; } - if (pkcs12_config.macalg) { + if (pkcs12_config.macalg != NULL) { macmd = EVP_get_digestbyname(pkcs12_config.macalg); - if (!macmd) { + if (macmd == NULL) { BIO_printf(bio_err, "Unknown digest algorithm %s\n", pkcs12_config.macalg); @@ -771,7 +771,7 @@ pkcs12_main(int argc, char **argv) goto end; } - if (!(p12 = d2i_PKCS12_bio(in, NULL))) { + if ((p12 = d2i_PKCS12_bio(in, NULL)) == NULL) { ERR_print_errors(bio_err); goto end; } @@ -784,7 +784,7 @@ pkcs12_main(int argc, char **argv) if (!pkcs12_config.twopass) strlcpy(macpass, pass, sizeof macpass); - if ((pkcs12_config.options & INFO) && p12->mac) + if ((pkcs12_config.options & INFO) && p12->mac != NULL) BIO_printf(bio_err, "MAC Iteration %ld\n", p12->mac->iter ? ASN1_INTEGER_get(p12->mac->iter) : 1); if (pkcs12_config.macver) { @@ -829,7 +829,7 @@ dump_certs_keys_p12(BIO *out, PKCS12 *p1 int ret = 0; PKCS7 *p7; - if (!(asafes = PKCS12_unpack_authsafes(p12))) + if ((asafes = PKCS12_unpack_authsafes(p12)) == NULL) return 0; for (i = 0; i < sk_PKCS7_num(asafes); i++) { p7 = sk_PKCS7_value(asafes, i); @@ -847,7 +847,7 @@ dump_certs_keys_p12(BIO *out, PKCS12 *p1 bags = PKCS12_unpack_p7encdata(p7, pass, passlen); } else continue; - if (!bags) + if (bags == NULL) goto err; if (!dump_certs_pkeys_bags(out, bags, pass, passlen, options, pempass)) { @@ -915,9 +915,9 @@ dump_certs_pkeys_bag(BIO *out, PKCS12_SA if (options & NOKEYS) return 1; print_attribs(out, bag->attrib, "Bag Attributes"); - if (!(p8 = PKCS12_decrypt_skey(bag, pass, passlen))) + if ((p8 = PKCS12_decrypt_skey(bag, pass, passlen)) == NULL) return 0; - if (!(pkey = EVP_PKCS82PKEY(p8))) { + if ((pkey = EVP_PKCS82PKEY(p8)) == NULL) { PKCS8_PRIV_KEY_INFO_free(p8); return 0; } @@ -933,7 +933,7 @@ dump_certs_pkeys_bag(BIO *out, PKCS12_SA BIO_printf(bio_err, "Certificate bag\n"); if (options & NOCERTS) return 1; - if (PKCS12_get_attr(bag, NID_localKeyID)) { + if (PKCS12_get_attr(bag, NID_localKeyID) != NULL) { if (options & CACERTS) return 1; } else if (options & CLCERTS) @@ -941,7 +941,7 @@ dump_certs_pkeys_bag(BIO *out, PKCS12_SA print_attribs(out, bag->attrib, "Bag Attributes"); if (OBJ_obj2nid(bag->value.bag->type) != NID_x509Certificate) return 1; - if (!(x509 = PKCS12_certbag2x509(bag))) + if ((x509 = PKCS12_certbag2x509(bag)) == NULL) return 0; dump_cert_text(out, x509); PEM_write_bio_X509(out, x509); @@ -999,7 +999,7 @@ alg_print(BIO *x, const X509_ALGOR *alg) p = alg->parameter->value.sequence->data; pbe = d2i_PBEPARAM(NULL, &p, alg->parameter->value.sequence->length); - if (!pbe) + if (pbe == NULL) return 1; BIO_printf(bio_err, "%s, Iteration %ld\n", OBJ_nid2ln(OBJ_obj2nid(alg->algorithm)), @@ -1050,7 +1050,7 @@ print_attribs(BIO *out, const STACK_OF(X ASN1_TYPE *av; int i, j, attr_nid; - if (!attrlst) { + if (attrlst == NULL) { BIO_printf(out, "%s: <No Attributes>\n", name); return 1; } @@ -1095,7 +1095,7 @@ hex_prin(BIO *out, unsigned char *buf, i static int set_pbe(BIO *err, int *ppbe, const char *str) { - if (!str) + if (str == NULL) return 0; if (!strcmp(str, "NONE")) { *ppbe = -1;