aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2016-02-21 21:05:50 +0100
committerAndy Polyakov <appro@openssl.org>2016-02-23 21:23:05 +0100
commit50e34aaba390926e9d3bc9ffa4b7e3bab394db21 (patch)
tree906ea56b830dda6beae98a3f0f4241faf23c2a5e /test
parent143ee099e9cdffb256adc27cba583ec52454a29f (diff)
downloadopenssl-50e34aaba390926e9d3bc9ffa4b7e3bab394db21.zip
openssl-50e34aaba390926e9d3bc9ffa4b7e3bab394db21.tar.gz
openssl-50e34aaba390926e9d3bc9ffa4b7e3bab394db21.tar.bz2
test/ectest.c: add regression test for RT#4284.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'test')
-rw-r--r--test/ectest.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/ectest.c b/test/ectest.c
index 0abb545..b0fbcdc 100644
--- a/test/ectest.c
+++ b/test/ectest.c
@@ -119,6 +119,8 @@ 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);
+ EC_POINT *R = EC_POINT_new(group);
+ EC_POINT *S = EC_POINT_new(group);
BN_CTX *ctx = BN_CTX_new();
int i;
@@ -198,6 +200,17 @@ static void group_order_tests(EC_GROUP *group)
/* Exercise EC_POINTs_mul, including corner cases. */
if (EC_POINT_is_at_infinity(group, P))
ABORT;
+
+ scalars[0] = scalars[1] = BN_value_one();
+ points[0] = points[1] = P;
+
+ if (!EC_POINTs_mul(group, R, NULL, 2, points, scalars, ctx))
+ ABORT;
+ if (!EC_POINT_dbl(group, S, points[0], ctx))
+ ABORT;
+ if (0 != EC_POINT_cmp(group, R, S, ctx))
+ ABORT;
+
scalars[0] = n1;
points[0] = Q; /* => infinity */
scalars[1] = n2;
@@ -219,6 +232,8 @@ static void group_order_tests(EC_GROUP *group)
EC_POINT_free(P);
EC_POINT_free(Q);
+ EC_POINT_free(R);
+ EC_POINT_free(S);
BN_free(n1);
BN_free(n2);
BN_free(order);