Oops - ectest.c finds further problems beyond those exposed by bntext.c
[openssl.git] / crypto / ec / ectest.c
index 283d1bab49906850bd7810d42669f116cf79b874..67dfdaa191299c1f28ae11d2b33d5b31e99fee6c 100644 (file)
@@ -197,8 +197,9 @@ static void group_order_tests(EC_GROUP *group)
        BIGNUM *n1, *n2, *order;
        EC_POINT *P = EC_POINT_new(group);
        EC_POINT *Q = EC_POINT_new(group);
-       n1 = BN_new(); n2 = BN_new(); order = BN_new();
        BN_CTX *ctx = BN_CTX_new();
+
+       n1 = BN_new(); n2 = BN_new(); order = BN_new();
        fprintf(stdout, "verify group order ...");
        fflush(stdout);
        if (!EC_GROUP_get_order(group, order, ctx)) ABORT;
@@ -233,7 +234,7 @@ static void group_order_tests(EC_GROUP *group)
        BN_CTX_free(ctx);
        }
 
-void prime_field_tests()
+static void prime_field_tests(void)
        {       
        BN_CTX *ctx = NULL;
        BIGNUM *p, *a, *b;
@@ -775,9 +776,10 @@ void prime_field_tests()
        if (!(_variable = EC_GROUP_new(EC_GROUP_method_of(group)))) ABORT; \
        if (!EC_GROUP_copy(_variable, group)) ABORT; \
 
+#ifndef OPENSSL_NO_EC2M
 
-void char2_field_tests()
-       {       
+static void char2_field_tests(void)
+       {
        BN_CTX *ctx = NULL;
        BIGNUM *p, *a, *b;
        EC_GROUP *group;
@@ -1209,8 +1211,9 @@ void char2_field_tests()
        if (C2_B571) EC_GROUP_free(C2_B571);
 
        }
+#endif
 
-void internal_curve_test(void)
+static void internal_curve_test(void)
        {
        EC_builtin_curve *curves = NULL;
        size_t crv_len = 0, n = 0;
@@ -1275,7 +1278,9 @@ void nistp224_test()
        x = BN_new(); y = BN_new();
        m = BN_new(); n = BN_new(); order = BN_new();
        BN_CTX *ctx = BN_CTX_new();
-       EC_GROUP *NISTP224 = NULL;
+       EC_GROUP *NISTP224;
+       EC_POINT *G, *P, *Q, *Q_CHECK;
+
        NISTP224 = EC_GROUP_new(EC_GFp_nistp224_method());
        if(!NISTP224) ABORT;
        if (!BN_hex2bn(&p, "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001")) ABORT;
@@ -1283,10 +1288,10 @@ void nistp224_test()
        if (!BN_hex2bn(&a, "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE")) ABORT;
        if (!BN_hex2bn(&b, "B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4")) ABORT;
        if (!EC_GROUP_set_curve_GFp(NISTP224, p, a, b, ctx)) ABORT;
-       EC_POINT *G = EC_POINT_new(NISTP224);
-       EC_POINT *P = EC_POINT_new(NISTP224);
-       EC_POINT *Q = EC_POINT_new(NISTP224);
-       EC_POINT *Q_CHECK = EC_POINT_new(NISTP224);
+       G = EC_POINT_new(NISTP224);
+       P = EC_POINT_new(NISTP224);
+       Q = EC_POINT_new(NISTP224);
+       Q_CHECK = EC_POINT_new(NISTP224);
        if(!BN_hex2bn(&x, "E84FB0B8E7000CB657D7973CF6B42ED78B301674276DF744AF130B3E")) ABORT;
        if(!BN_hex2bn(&y, "4376675C6FC5612C21A0FF2D2A89D2987DF7A2BC52183B5982298555")) ABORT;
        if(!EC_POINT_set_affine_coordinates_GFp(NISTP224, Q_CHECK, x, y, ctx)) ABORT;
@@ -1388,7 +1393,9 @@ int main(int argc, char *argv[])
 
        prime_field_tests();
        puts("");
+#ifndef OPENSSL_NO_EC2M
        char2_field_tests();
+#endif
 #ifdef EC_NISTP224_64_GCC_128
        nistp224_test();
 #endif