Commit 738da3d0 authored by Richard Levitte's avatar Richard Levitte
Browse files

test/evp_test.c: distinguish parsing errors from processing errors



Parsing functions are at liberty to return:

1:  when parsing on processing of the parsed value succeeded
0:  when the parsed keyword is unknown
-1: when the parsed value processing failed

Some parsing functions didn't do this quite right, they returned 0
when they should have returned -1, causing a message like this:

    Line 123: unknown keyword PeerKey

When this message (which is displayed when the parsing function
returns -1) would have been more appropriate:

    Line 123: error processing keyword PeerKey = ffdhe2048-2-pub

Reviewed-by: default avatarTomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/9682)

(cherry picked from commit f42c225d7f9a0bce0bf46103343402d3f0ad742f)
parent 8be96f23
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -554,7 +554,7 @@ static int cipher_test_parse(EVP_TEST *t, const char *keyword,
            else if (strcmp(value, "FALSE") == 0)
                cdat->tag_late = 0;
            else
                return 0;
                return -1;
            return 1;
        }
    }
@@ -565,7 +565,7 @@ static int cipher_test_parse(EVP_TEST *t, const char *keyword,
        else if (strcmp(value, "DECRYPT") == 0)
            cdat->enc = 0;
        else
            return 0;
            return -1;
        return 1;
    }
    return 0;
@@ -945,7 +945,7 @@ static int mac_test_parse(EVP_TEST *t,
    if (strcmp(keyword, "Algorithm") == 0) {
        mdata->alg = OPENSSL_strdup(value);
        if (!mdata->alg)
            return 0;
            return -1;
        return 1;
    }
    if (strcmp(keyword, "Input") == 0)
@@ -1292,9 +1292,9 @@ static int pderive_test_parse(EVP_TEST *t,
    if (strcmp(keyword, "PeerKey") == 0) {
        EVP_PKEY *peer;
        if (find_key(&peer, value, public_keys) == 0)
            return 0;
            return -1;
        if (EVP_PKEY_derive_set_peer(kdata->ctx, peer) <= 0)
            return 0;
            return -1;
        return 1;
    }
    if (strcmp(keyword, "SharedSecret") == 0)
@@ -2142,7 +2142,7 @@ static int digestsigver_test_parse(EVP_TEST *t,
    }
    if (strcmp(keyword, "Ctrl") == 0) {
        if (mdata->pctx == NULL)
            return 0;
            return -1;
        return pkey_test_ctrl(t, mdata->pctx, value);
    }
    return 0;