summaryrefslogtreecommitdiff
path: root/mpi/mpi-add.c
diff options
context:
space:
mode:
authorMoritz Schulte <mo@g10code.com>2003-04-27 19:28:28 +0000
committerMoritz Schulte <mo@g10code.com>2003-04-27 19:28:28 +0000
commitf206bde542e50fab3e60482dfb44e878ab1c2aa6 (patch)
tree277fba1dbcc35149ed3d808b0d4dd8395fafa573 /mpi/mpi-add.c
parent53189fb2a0594de16bd33a095677d703981ae1f5 (diff)
downloadlibgcrypt-f206bde542e50fab3e60482dfb44e878ab1c2aa6.tar.gz
2003-04-27 Moritz Schulte <moritz@g10code.com>
* mpiutil.c (_gcry_mpi_resize): Allocate secure memory, in case bit zero of `flags' is set. * mpi-add.c (gcry_mpi_sub): Simplify function; always use a temporary variable now.
Diffstat (limited to 'mpi/mpi-add.c')
-rw-r--r--mpi/mpi-add.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/mpi/mpi-add.c b/mpi/mpi-add.c
index 56f5de0c..9e6b6dd0 100644
--- a/mpi/mpi-add.c
+++ b/mpi/mpi-add.c
@@ -1,5 +1,5 @@
/* mpi-add.c - MPI functions
- * Copyright (C) 1994, 1996, 1998, 2001, 2002 Free Software Foundation, Inc.
+ * Copyright (C) 1994, 1996, 1998, 2001, 2002, 2003 Free Software Foundation, Inc.
*
* This file is part of Libgcrypt.
*
@@ -213,18 +213,10 @@ gcry_mpi_sub_ui(MPI w, MPI u, unsigned long v )
void
gcry_mpi_sub(MPI w, MPI u, MPI v)
{
- if( w == v ) {
- MPI vv = mpi_copy(v);
- vv->sign = !vv->sign;
- gcry_mpi_add( w, u, vv );
- mpi_free(vv);
- }
- else {
- /* fixme: this is not thread-save (we temp. modify v) */
- v->sign = !v->sign;
- gcry_mpi_add( w, u, v );
- v->sign = !v->sign;
- }
+ MPI vv = mpi_copy (v);
+ vv->sign = ! vv->sign;
+ gcry_mpi_add (w, u, vv);
+ mpi_free (vv);
}