summaryrefslogtreecommitdiff
path: root/src/gcrypt-int.h
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2021-03-30 10:42:03 +0900
committerNIIBE Yutaka <gniibe@fsij.org>2021-03-30 10:42:03 +0900
commit45e88b8ec6dfbd8f981ca89ded80ef48eca6f0e9 (patch)
tree8eccdaf9957c4c605e03ca927ce565f075ee9c87 /src/gcrypt-int.h
parent68bb0ddc5504c9c0f3f52259a4085bb2fc1a02ad (diff)
downloadlibgcrypt-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.h2
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))