summaryrefslogtreecommitdiff
path: root/mpi
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2022-05-10 15:44:19 +0900
committerNIIBE Yutaka <gniibe@fsij.org>2022-05-10 15:44:19 +0900
commita611e3a25d61505698e2bb38ec2db38bc6a74820 (patch)
treef78b075b2b63f89838a2d143adc057b101b01393 /mpi
parent5dc97e855bb27705a548a297b666b7be7b1c59a3 (diff)
downloadlibgcrypt-a611e3a25d61505698e2bb38ec2db38bc6a74820.tar.gz
mpi: Fix for 64-bit for _gcry_mpih_cmp_ui.
* mpi/mpih-const-time.c (_gcry_mpih_cmp_ui): Compare 64-bit value correctly. -- Reported-by: Guido Vranken <guidovranken@gmail.com> GnuPG-bug-id: 5970 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Diffstat (limited to 'mpi')
-rw-r--r--mpi/mpih-const-time.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/mpi/mpih-const-time.c b/mpi/mpih-const-time.c
index b527ad79..9d74d190 100644
--- a/mpi/mpih-const-time.c
+++ b/mpi/mpih-const-time.c
@@ -204,6 +204,13 @@ _gcry_mpih_cmp_ui (mpi_ptr_t up, mpi_size_t usize, unsigned long v)
is_all_zero &= (up[i] == 0);
if (is_all_zero)
- return up[0] - v;
+ {
+ if (up[0] < v)
+ return -1;
+ else if (up[0] > v)
+ return 1;
+ else
+ return 0;
+ }
return 1;
}