aboutsummaryrefslogtreecommitdiff
path: root/contrib/bearssl/src/ec/ec_prime_i15.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bearssl/src/ec/ec_prime_i15.c')
-rw-r--r--contrib/bearssl/src/ec/ec_prime_i15.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/contrib/bearssl/src/ec/ec_prime_i15.c b/contrib/bearssl/src/ec/ec_prime_i15.c
index 0f210f240475..f86dbe6ff0db 100644
--- a/contrib/bearssl/src/ec/ec_prime_i15.c
+++ b/contrib/bearssl/src/ec/ec_prime_i15.c
@@ -733,11 +733,12 @@ api_mul(unsigned char *G, size_t Glen,
jacobian P;
cc = id_to_curve(curve);
+ if (Glen != cc->point_len) {
+ return 0;
+ }
r = point_decode(&P, G, Glen, cc);
point_mul(&P, x, xlen, cc);
- if (Glen == cc->point_len) {
- point_encode(G, &P, cc);
- }
+ point_encode(G, &P, cc);
return r;
}
@@ -770,6 +771,9 @@ api_muladd(unsigned char *A, const unsigned char *B, size_t len,
*/
cc = id_to_curve(curve);
+ if (len != cc->point_len) {
+ return 0;
+ }
r = point_decode(&P, A, len, cc);
if (B == NULL) {
size_t Glen;