diff options
author | Richard Levitte <levitte@openssl.org> | 2016-09-21 14:44:42 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-09-21 16:19:22 +0200 |
commit | 780bbb96bf514f0b4013e9c5725614ba5153c497 (patch) | |
tree | c501305ec8f0925c884e57c8477c4c3e4c7a84cb /test/x509aux.c | |
parent | make update and fix some associated mis-matched error codes (diff) | |
download | openssl-780bbb96bf514f0b4013e9c5725614ba5153c497.tar.xz openssl-780bbb96bf514f0b4013e9c5725614ba5153c497.zip |
test/x509aux.c: Fix argv loop
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>
Diffstat (limited to 'test/x509aux.c')
-rw-r--r-- | test/x509aux.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/test/x509aux.c b/test/x509aux.c index 4f00196312..2c20d6d743 100644 --- a/test/x509aux.c +++ b/test/x509aux.c @@ -180,7 +180,6 @@ static int test_certs(BIO *fp) int main(int argc, char *argv[]) { BIO *bio_err; - const char *certfile; const char *p; int ret = 1; @@ -197,24 +196,30 @@ int main(int argc, char *argv[]) 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", - progname, certfile, strerror(errno)); + progname, *argv, strerror(errno)); EXIT(ret); } ret = !(ok = test_certs(f)); BIO_free(f); if (!ok) { - printf("%s ERROR\n", certfile); + printf("%s ERROR\n", *argv); ret = 1; break; } - printf("%s OK\n", certfile); + printf("%s OK\n", *argv); + + argc--; + argv++; } #ifndef OPENSSL_NO_CRYPTO_MDEBUG |