summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2020-07-06 12:01:42 +0200
committerWerner Koch <wk@gnupg.org>2020-07-06 12:34:12 +0200
commit31bb4f3210df76c3036b03ce6dfd2b7c0c6af9ed (patch)
tree52a1ad9563330063582a8a2f42562e1b0c908e4a
parent47e8977d24e5becb83b6ca2824ee1d4c48704a8b (diff)
downloadlibgcrypt-31bb4f3210df76c3036b03ce6dfd2b7c0c6af9ed.tar.gz
mpi: Consider +0 and -0 the same in mpi_cmp.
* mpi/mpi-cmp.c (do_mpi_cmp): Check size of U an V. Signed-off-by: Werner Koch <wk@gnupg.org>
-rw-r--r--mpi/mpi-cmp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/mpi/mpi-cmp.c b/mpi/mpi-cmp.c
index 66e09612..8927fa0e 100644
--- a/mpi/mpi-cmp.c
+++ b/mpi/mpi-cmp.c
@@ -89,8 +89,11 @@ do_mpi_cmp (gcry_mpi_t u, gcry_mpi_t v, int absmode)
usign = absmode? 0 : u->sign;
vsign = absmode? 0 : v->sign;
- /* Compare sign bits. */
+ /* Special treatment for +0 == -0 */
+ if (!usize && !vsize)
+ return 0;
+ /* Compare sign bits. */
if (!usign && vsign)
return 1;
if (usign && !vsign)