Commit 2178c52a authored by Richard Levitte's avatar Richard Levitte Committed by Matt Caswell
Browse files

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: default avatarMatt Caswell <matt@openssl.org>
(cherry picked from commit 780bbb96)
parent db610cb2
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -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