summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-09-21 14:44:42 +0200
committerMatt Caswell <matt@openssl.org>2016-09-22 09:01:22 +0100
commit2178c52a8bacfd097a41f3f348fe51d8e4d1873e (patch)
treec3eaa2d319c1a9baeac5b24282c35d758b663cf9
parentdb610cb29cd2658c4feb60f4899856f0ac5e9dab (diff)
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> (cherry picked from commit 780bbb96bf514f0b4013e9c5725614ba5153c497)
-rw-r--r--test/x509aux.c17
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