From 44a2c34e90ed7de149952398787906d8823b636b Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Sat, 7 Sep 2013 10:06:46 +0200 Subject: mpi: Add internal convenience function. * mpi/mpiutil.c (_gcry_mpi_get_opaque_copy): New. Signed-off-by: Werner Koch --- mpi/mpiutil.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'mpi/mpiutil.c') diff --git a/mpi/mpiutil.c b/mpi/mpiutil.c index 433dda6b..57fe72a7 100644 --- a/mpi/mpiutil.c +++ b/mpi/mpiutil.c @@ -291,6 +291,22 @@ gcry_mpi_get_opaque( gcry_mpi_t a, unsigned int *nbits ) } +void * +_gcry_mpi_get_opaque_copy (gcry_mpi_t a, unsigned int *nbits) +{ + const void *s; + void *d; + unsigned int n; + + s = gcry_mpi_get_opaque (a, nbits); + if (!s && nbits) + return NULL; + n = (*nbits+7)/8; + d = gcry_is_secure (s)? gcry_malloc_secure (n) : gcry_malloc (n); + memcpy (d, s, n); + return d; +} + /**************** * Note: This copy function should not interpret the MPI * but copy it transparently. -- cgit v1.2.1