On Sat, Apr 23, 2022 at 01:45:12PM +0900, Kinichiro Inoguchi wrote: > 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?
ok. Two comments for a next diff below. > > 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) I would also compare the first argument against 0: if ((pkcs12_config.options & INFO) != 0 && 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")) { if (strcmp(str, "NONE") != 0) { > *ppbe = -1; >