summaryrefslogtreecommitdiff
path: root/mpi/mpiutil.c
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2020-06-04 12:50:22 +0900
committerNIIBE Yutaka <gniibe@fsij.org>2020-06-04 12:50:22 +0900
commit78a5a1aa7627afaa24e2ea1eb9b08f1cfdd71561 (patch)
treeca36231f8f35655e9a20326d270b05caca0dbfaa /mpi/mpiutil.c
parent0d8346f84a1f5865da3375ce92420d92fb5ae652 (diff)
downloadlibgcrypt-78a5a1aa7627afaa24e2ea1eb9b08f1cfdd71561.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>
Diffstat (limited to 'mpi/mpiutil.c')
-rw-r--r--mpi/mpiutil.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mpi/mpiutil.c b/mpi/mpiutil.c
index 45329d82..a9e812e2 100644
--- a/mpi/mpiutil.c
+++ b/mpi/mpiutil.c
@@ -361,11 +361,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 ) {