There are cases when argc is more trustable than proper argv termination.
Since we trust argc in all other test programs, we might as well treat it
the same way in this program.
Reviewed-by: Matt Caswell <matt@openssl.org>
int main(int argc, char *argv[])
{
BIO *bio_err;
int main(int argc, char *argv[])
{
BIO *bio_err;
const char *p;
int ret = 1;
const char *p;
int ret = 1;
CRYPTO_set_mem_debug(1);
CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
CRYPTO_set_mem_debug(1);
CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
- while ((certfile = *++argv) != NULL) {
- BIO *f = BIO_new_file(certfile, "r");
+ argc--;
+ argv++;
+
+ while (argc >= 1) {
+ BIO *f = BIO_new_file(*argv, "r");
int ok;
if (f == NULL) {
fprintf(stderr, "%s: Error opening cert file: '%s': %s\n",
int ok;
if (f == NULL) {
fprintf(stderr, "%s: Error opening cert file: '%s': %s\n",
- progname, certfile, strerror(errno));
+ progname, *argv, strerror(errno));
EXIT(ret);
}
ret = !(ok = test_certs(f));
BIO_free(f);
if (!ok) {
EXIT(ret);
}
ret = !(ok = test_certs(f));
BIO_free(f);
if (!ok) {
- printf("%s ERROR\n", certfile);
+ printf("%s ERROR\n", *argv);
- printf("%s OK\n", certfile);
+ printf("%s OK\n", *argv);
+
+ argc--;
+ argv++;
}
#ifndef OPENSSL_NO_CRYPTO_MDEBUG
}
#ifndef OPENSSL_NO_CRYPTO_MDEBUG