diff options
author | NIIBE Yutaka <gniibe@fsij.org> | 2021-03-30 10:42:03 +0900 |
---|---|---|
committer | NIIBE Yutaka <gniibe@fsij.org> | 2021-03-30 10:42:03 +0900 |
commit | 45e88b8ec6dfbd8f981ca89ded80ef48eca6f0e9 (patch) | |
tree | 8eccdaf9957c4c605e03ca927ce565f075ee9c87 /src/gcrypt-int.h | |
parent | 68bb0ddc5504c9c0f3f52259a4085bb2fc1a02ad (diff) | |
download | libgcrypt-45e88b8ec6dfbd8f981ca89ded80ef48eca6f0e9.tar.gz |
ecc: Fix the regression of gcry_mpi_ec_add.
* mpi/ec.c (_gcry_mpi_ec_point_resize): Export the routine
for internal use.
(add_points_edwards, _gcry_mpi_ec_mul_point): Use mpi_point_resize.
* src/gcrypt-int.h (_gcry_mpi_ec_point_resize): Declare.
* src/visibility.c (gcry_mpi_ec_dup, gcry_mpi_ec_add): Make sure for
the size of limb before calling the internal functions.
(gcry_mpi_ec_sub): Likewise.
--
GnuPG-bug-id: 5372
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Diffstat (limited to 'src/gcrypt-int.h')
-rw-r--r-- | src/gcrypt-int.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gcrypt-int.h b/src/gcrypt-int.h index 086953d7..858b92ce 100644 --- a/src/gcrypt-int.h +++ b/src/gcrypt-int.h @@ -421,6 +421,7 @@ gcry_mpi_point_t _gcry_mpi_ec_get_point (const char *name, gcry_ctx_t ctx, int copy); int _gcry_mpi_ec_get_affine (gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_point_t point, mpi_ec_t ctx); +void _gcry_mpi_ec_point_resize (gcry_mpi_point_t p, mpi_ec_t ctx); void _gcry_mpi_ec_dup (gcry_mpi_point_t w, gcry_mpi_point_t u, gcry_ctx_t ctx); void _gcry_mpi_ec_add (gcry_mpi_point_t w, gcry_mpi_point_t u, gcry_mpi_point_t v, mpi_ec_t ctx); @@ -513,6 +514,7 @@ int _gcry_mpi_get_flag (gcry_mpi_t a, enum gcry_mpi_flag flag); #define mpi_point_set(p,x,y,z) _gcry_mpi_point_set((p),(x),(y),(z)) #define mpi_point_snatch_set(p,x,y,z) _gcry_mpi_point_snatch_set((p),(x), \ (y),(z)) +#define mpi_point_resize(p,ctx) _gcry_mpi_ec_point_resize (p, ctx) #define mpi_get_nbits(a) _gcry_mpi_get_nbits ((a)) #define mpi_test_bit(a,b) _gcry_mpi_test_bit ((a),(b)) |