diff options
author | Werner Koch <wk@gnupg.org> | 2020-07-06 12:01:42 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2020-07-06 12:34:12 +0200 |
commit | 31bb4f3210df76c3036b03ce6dfd2b7c0c6af9ed (patch) | |
tree | 52a1ad9563330063582a8a2f42562e1b0c908e4a | |
parent | 47e8977d24e5becb83b6ca2824ee1d4c48704a8b (diff) | |
download | libgcrypt-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.c | 5 |
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) |