diff options
author | NIIBE Yutaka <gniibe@fsij.org> | 2020-06-04 12:50:22 +0900 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2020-06-09 18:09:04 +0200 |
commit | 47e8977d24e5becb83b6ca2824ee1d4c48704a8b (patch) | |
tree | d2b01751e347c8a187611ff562d01fbca3a50470 | |
parent | 534a744018105b2a4c97565ccf4cca3b4239bd39 (diff) | |
download | libgcrypt-47e8977d24e5becb83b6ca2824ee1d4c48704a8b.tar.gz |
mpi: Fix flags in mpi_copy for opaque MPI.
* mpi/mpiutil.c (_gcry_mpi_copy): Copy flags.
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
-rw-r--r-- | mpi/mpiutil.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mpi/mpiutil.c b/mpi/mpiutil.c index 3ae84c30..b8877b00 100644 --- a/mpi/mpiutil.c +++ b/mpi/mpiutil.c @@ -346,11 +346,12 @@ _gcry_mpi_copy (gcry_mpi_t a) gcry_mpi_t b; if( a && (a->flags & 4) ) { - void *p = _gcry_is_secure(a->d)? xmalloc_secure ((a->sign+7)/8) + void *p = _gcry_is_secure(a->d)? xmalloc_secure ((a->sign+7)/8) : xmalloc ((a->sign+7)/8); if (a->d) memcpy( p, a->d, (a->sign+7)/8 ); - b = mpi_set_opaque( NULL, p, a->sign ); + b = mpi_set_opaque( NULL, p, a->sign ); + b->flags = a->flags; b->flags &= ~(16|32); /* Reset the immutable and constant flags. */ } else if( a ) { |